有一些numpy中索引结果时候不太理解的地方,以后可以多多熟悉,熟悉后加以运用。
- 索引第二列元素
- 索引第二行元素
- 索引第二列之后的剩下所有元素
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print (a[...,1]) # 第2列元素
print (a[1,...]) # 第2行元素
print (a[...,1:]) # 第2列及剩下的所有元素
整数数组的索引
以下实例获取数组中(0,0),(1,1)和(2,0)位置处的元素。
这个地方行和列分别用了两个矩阵进行保存
import numpy as np
x = np.array([[1, 2], [3, 4], [5, 6]])
y = x[[0,1,2], [0,1,0]]
print (y)
输出结果
[1 4 5]
以下实例获取了 4X3 数组中的四个角的元素。 行索引是 [0,0] 和 [3,3],而列索引是 [0,2] 和 [0,2]。
四个角的元素是 [0,0] [0,2] [3,0] [3,2]
这里刚开始有一个不理解的地方是,为什么行、列分成了两个数组,如果这样分开的话,输出的结果也会是两个数组。
如果写在一起,是一个一维数组的输出。
import numpy as np
x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])
print ('我们的数组是:' )
print (x)
print ('\n')
rows = np.array([[0,0],[3,3]])
cols = np.array([[0,2],[0,2]])
y = x[rows,cols]
print ('这个数组的四个角元素是:')
print (y)
输出结果
我们的数组是:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
这个数组的四个角元素是:
[[ 0 2]
[ 9 11]]