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