对一个二维数组进行索引
新建一个矩阵
import numpy as np
a = np.arange(16).reshape((4,4))
print(a)
单个元素索引
print(a[1,2])
多个元素索引
(0,0)、(1,1)、(2,0)
print(a[[0, 1, 2], [0, 1, 0]])
print(a[ [[0, 0], [3, 3]], [[0, 2], [0, 2]] ])
索引一整行
print(a[1,:])
索引一整列
print(a[:,1])
索引一个范围内的行/列
print(a[1:2,:])
print(a[:,1:2])
奇数/偶数行/列
print(a[1::2,:])
print(a[:,::2])
指定的行或者列
print(a[[0,2,3]])
print(a[:,[0,2,3]])
交点矩阵
注意两种区别 一种是索引4个元素,通过坐标的形式 另一种是给出行和列,索引出交点形成的矩阵
print(a[[0, 2, 3, 1], [0, 3, 1, 2]])
print(a[np.ix_([0, 2, 3, 1], [0, 3, 1, 2])])
布尔索引
pyprint(a[a > 10])
a = np.array([np.nan, 1,2,np.nan,3,4,5])
print (a[~np.isnan(a)])