科学计算库NumPy:花式索引的基本使用

花式索引是NumPy的一个术语,是指将整数数组或列表作为索引,然后根据索引数组或索引列表的每个元素作为目标数组的下标再进行取值。

当使用一维数组或列表作为索引时,如果使用索引要操作的目标对象是一维数组,则获取的结果是对应下标的元素;如果要操作的目标对象是一个二维数组,则获取的结果是对应下标的元素;如果要操作的目标对象是一个二维数组,则获取的结果就是对应下标的一行数据。

例如,创建一个4行4列的二维数组,示例代码如下。

In [67]: import numpy as np
In [68]: demo_arr=np.empty((4, 4))       # 创建一个空数组
for i in range(4):
         demo_arr[i]=np.arange(i, i+4)   # 动态地为数组添加元素
In [69]: demo_arr
array([[0., 1., 2., 3.],
       [1., 2., 3., 4.],
       [2., 3., 4., 5.],
       [3., 4., 5., 6.]])

将[0,2]作为索引,分别获取demo_arr中索引0对应的一行数据以及索引2对应的一行数据示例代码如下。

In [70]: demo_arr[[0, 2]]                # 获取索引为[0,2]的元素
Out[70]:
array([[0., 1., 2., 3.],
       [2., 3., 4., 5.]])

如果使用两个花式索引操作数组时,即两个列表或数组,则会将第1个作为行索引,第2个作为列索引,通过二维数组索引的方式,选取其对应位置的元素,示例代码如下。

In [71]: demo_arr[[1, 3], [1, 2]]        # 获取索引为(1,1)和(3,2)的元素
Out[71]:
array([2., 5.])

上述操作的相关示意图如图2-6所示。

1666938314702_图2-6花式索引图示.png

demo_arr[[1,3],[1,2]]

图2-6 花式索引图示(两个数组当索引)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值