Numpy中数组元素的获取
目录
先来看一下一维数组元素和二维数组元素获取的例子,代码如下:
import numpy as np
arr1=np.array([3,10,8,7,34,11,28,72])
arr2=np.array([[8.5,6,4.1,2,0.7],[1.5,3,5.4,7.3,9],[3.2,3,3.8,3,3],[11.2,13.4,15.6,17.8,19]])
print(arr1)
print(arr2)
#一维数组元素的获取
print(arr1[[2,3,5,7]])
#二维数组元素的获取
#第2行第3列元素
print(arr2[1,2])
print(arr2[1][2])
#第3行所有元素
print(arr2[2,:])
#第2列所有元素
print(arr2[:,1])
#第2至4行,第2至5列
print(arr2[1:4,1:5])[ 3 10 8 7 34 11 28 72]
[[ 8.5 6. 4.1 2. 0.7][ 1.5 3. 5.4 7.3 9. ][ 3.2 3. 3.8 3. 3. ][11.2 13.4 15.6 17.8 19. ]]
[ 8 7 11 72]
5.4
5.4
[3.2 3. 3.8 3. 3. ]
[ 6. 3. 3. 13.4]
[[ 3. 5.4 7.3 9. ][ 3. 3.8 3. 3. ][13.4 15.6 17.8 19. ]]
通过位置索引获取一维和二维数组中的元素,在一维数组中,列表的所有索引方法,都可以使用在数组上,而且还可以将任意位置的索引组装成列表,用作对应元素的获取;在二维数组中,位置索引必须写成[row,column]的形式。如果想要获取所有的行或列元素,那么对应的行索引或列索引用英文状态的冒号表示;
如果要从数组中获取不连续的某几行或某几列,可以采用ix_函数。
import numpy as np
arr2=np.array([[8.5,6,4.1,2,0.7],[1.5,3,5.4,7.3,9],[3.2,3,3.8,3,3],[11.2,13.4,15.6,17.8,19]])
#第1行,最后1行和第2列,第4列构成的数组
print(arr2[np.ix_([0,-1],[1,3])])
#第1行,最后1行和第2列、第3列、第4列构成的数组
print(arr2[np.ix_([0,-1],[1,2,3])])[[ 6. 2. ][13.4 17.8]]
[[ 6. 4.1 2. ][13.4 15.6 17.8]]