神奇索引是numpy中的术语,用于使用整数数组来进行数据索引
我们首先定义一个array的数组
arr=np.arange(56).reshape(8,7)
arr=
[[ 0 1 2 3 4 5 6]
[ 7 8 9 10 11 12 13]
[14 15 16 17 18 19 20]
[21 22 23 24 25 26 27]
[28 29 30 31 32 33 34]
[35 36 37 38 39 40 41]
[42 43 44 45 46 47 48]
[49 50 51 52 53 54 55]]
我们想选出一个子集,通过传递列表或数组就可以
print(arr[[2,3,6]])
输出:
[[14 15 16 17 18 19 20]
[21 22 23 24 25 26 27]
[42 43 44 45 46 47 48]]
如果我们想选出特定的子集 方法
print(arr[[1,5,6]][:,[1,2,3,5,4,0,6]]) #[1,5,6]指的是行数,:指的是所有列都要,如果你要选择特定的列,可以修改为1:2这样,最后是选择排列顺序
输出:
[[ 8 9 10 12 11 7 13]
[36 37 38 40 39 35 41]
[43 44 45 47 46 42 48]]