一、numpy索引
1.1
布尔索引
row_index = (M[:,0] >= 20) & (M[:,0] <= 80)
col_index = M[0,:] >= 5
M[row_index,:][:,col_index]
注意:不能在同一个方括号中对列和行都使用布尔索引。新词我们必须先在行方向上进行布尔选择,然后重新打开方括号进行第二次选择,这一次集中在列方向上选择
如果需要对数组元素进行全局选择,可以
mask = (M >= 20) & (M <= 90) & ((M / 10) % 1 >= 0.5)
M[mask]
1.2 花式索引
row_index = [1,1,2,7]
col_index = [0,2,4,8]
M[row_index,col_index] # 选出(1,0)(1,2)(2,4)(7,8)位置的元素
M[row_index,:][:,col_index] # 选出4行4列
注意:花式索引和普通步数切片索引,要牢记
1.3 普通索引
M[2:9:2,:] # 第2至8行的偶数行
M[2:9:2,5:] # 第2至8行的偶数行&第6列以后的数据
M[2:9:2,5::-1] # 第2至8行的偶数行&第6列开始,逆序取值到第一列