![零基础入门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=1739322707-QHf8SGolOLFKMmVzgbjbAW7bQhk0ebhC-0-6ba2f54564054d3b924671078e3e6ce5)
下面依次按照第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=1739322707-05cl48uIUyPno4TxZvaQTI7GirLT9q8a-0-43e91c284a63825ac6e589a26be2ae4d)
花式索引的结果与普通索引是一致的,只不过,花式索引简化了索引过程,而且实现了按一定的顺序排列。
此外,还可以使用负数进行索引,示例代码和输出如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P69_8496.jpg?sign=1739322707-sFaEox8IGac2XZVatnoVSHS6J4FVp4q6-0-fc0f27a72e347009f16b0a22c5c3ec6b)
如果一次传入两个索引数组,就会返回一个一维数组,其中的元素对应各个索引元组,示例代码如下:
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=1739322707-Cfb2V1fGZ5H6eFO1HDrzo2YQS3JeK7uT-0-54a4836e919db478b1e7b313949d27b3)
下面再传入多个索引数组,也会返回一个一维数组,示例代码和输出如下:
print(b[[1,2],[0,1],[2,2]])
[11 23]