![零基础入门Python数据分析与机器学习](https://wfqqreader-1252317822.image.myqcloud.com/cover/147/44510147/b_44510147.jpg)
上QQ阅读APP看书,第一时间看更新
4.1.3 花式索引
花式索引指的是利用整数数组进行索引,首先创建一个服从标准正态分布的数组,示例代码如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P69_8492.jpg?sign=1739295286-V80FWNx083Cp4uDwIWWf23irn6IE8CYo-0-0bb70a53f8838aba07aa1f46e7d60d86)
下面依次按照第3行、第4行、第5行、第2行提取数据(注意默认索引是从0开始,所以索引2对应的是第3行,索引3对应的是第4行,索引4对应的是第5行,索引1对应的是第2行),示例代码和输出如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P69_8494.jpg?sign=1739295286-opXqFQU3wb0t8bxAaz4VnnN87MITUBqf-0-ce10afe9b528a05bd1883f9b68ea22ce)
花式索引的结果与普通索引是一致的,只不过,花式索引简化了索引过程,而且实现了按一定的顺序排列。
此外,还可以使用负数进行索引,示例代码和输出如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P69_8496.jpg?sign=1739295286-tMIqRJEptXHlGtF8HHw1Lu01Vd2f1zog-0-57d816ec11e7376ad2ca6f661b19e02f)
如果一次传入两个索引数组,就会返回一个一维数组,其中的元素对应各个索引元组,示例代码如下:
print(a[[1,3,2,4],[2,0,4,4]])
[-0.88364558 1.7644797 -0.2399192 -0.59371321]
对于多维数组,花式索引也是适用的,例如创建一个3×3×3维的数组,示例代码和输出如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P70_8499.jpg?sign=1739295286-DxkJolMD0UYkCunwo5TNAIwWEqUPrEtz-0-51c02269fc2ac24d6ac4514ead119d6c)
下面再传入多个索引数组,也会返回一个一维数组,示例代码和输出如下:
print(b[[1,2],[0,1],[2,2]])
[11 23]