Numpy中花式索引

x = numpy.array([1,2,3,4,5,6])
print x[[0,1,2]] # [1 2 3]
print x[[-1,-2,-3]] # [6,5,4]
x = numpy.array([[1,2],[3,4],[5,6]])
print x[[0,1]] # [[1,2],[3,4]]
print x[[0,1],[0,1]] # [1,4] 打印x[0][0]和x[1][1]
print x[[0,1]][:,[0,1]] # 打印01行的01[[1,2],[3,4]]
# 使用numpy.ix_()函数增强可读性
print x[numpy.ix_([0,1],[0,1])] #同上 打印01行的01[[1,2],[3,4]]
x[[0,1],[0,1]] = [0,0]
print x # [[0,2],[3,0],[5,6]]

1,花式索引的索引值是一个数组,对于二维被索引数据来说,索引值可以是一维或者二维。

2,花式索引生成一个新的数组,不像切片,花式索引生成的是新的数据对象。

3,花式索引的索引值为一维数组的时候,索引出数组相应的行,然后拼接成一个新的二维数组。

4,花式索引的索引值为两个维度相同的一维数组凑成的二维向量时,以两个维度作为纵横坐标索引出单值后组合成新的一维向量。

5,由于花式索引不同于切片,实现的是拷贝功能,生成的新数组改变不会影响元数据。

参考
1.python之numpy的基本使用
2.Numpy中的数组花式索引

猜你喜欢

转载自blog.csdn.net/cainiaohudi/article/details/79980507