更新时间:2022-10-28 来源:黑马程序员 浏览量:
花式索引是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.]])
上述操作的相关示意图如图2-5所示。
如果使用两个花式索引操作数组时,即两个列表或数组,则会将第1个作为行索引,第2个作为列索引,通过二维数组索引的方式,选取其对应位置的元素,示例代码如下。
In [71]: demo_arr[[1, 3], [1, 2]] # 获取索引为(1,1)和(3,2)的元素 Out[71]: array([2., 5.])
上述操作的相关示意图如图2-6所示。
demo_arr[[1,3],[1,2]]
图2-6 花式索引图示(两个数组当索引)
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19