numpy之神奇索引

神奇索引是numpy中的术语,可以用来使用整数数组进行数据索引
它可以让你找到数组中任意位置的元素,并把它们按一定顺序输出

比如说,输出一个二维数组的第4,3,0,6,并依次排列:

import numpy as np
x = np.arange(36).reshape(9, 4)
# [[ 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]]
print(x)
print(x[[4, 3, 0, 6]])
# [[16 17 18 19]
#  [12 13 14 15]
#  [ 0  1  2  3]
#  [24 25 26 27]]

又比如输出一个二维数组的第1, 2,并依次排列:

import numpy as np
x = np.arange(36).reshape(9, 4)
# [[ 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]]
print(x[:, [1, 2]])
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]
#  [13 14]
#  [17 18]
#  [21 22]
#  [25 26]
#  [29 30]
#  [33 34]]

接下来我们来点刺激的
输出第1行的第0列,第5行的第3列,第7行的第1列,第2行的第2列。

import numpy as np
x = np.arange(36).reshape(9, 4)
# [[ 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]]
print(x[[1, 5, 7, 2], [0, 3, 1, 2]])
# [ 4 23 29 10]

.

参考资料

《利用python进行数据分析》

发布了19 篇原创文章 · 获赞 1 · 访问量 783

猜你喜欢

转载自blog.csdn.net/weixin_43901558/article/details/104748358