numpy之神奇索引

本文介绍了numpy库中的神奇索引特性,允许使用整数数组进行高效的数据定位和提取。通过实例展示了如何选取二维数组的特定行和列,以及如何组合索引获取特定元素,进一步揭示了numpy索引的灵活性和强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

神奇索引是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进行数据分析》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值