花式索引(Fancyindexing)是一个NumPy术语,它指的是利用整数数组进行索引。假设我们有一个8×4数组:
为了以特定顺序选取行子集,只需传入一个用于指定顺序的整数列表或ndarray即可:
使用负数索引将会从末尾开始选取行:
一次传入多个索引数组会有一点特别。它返回的是一个一维数组,其中的元素对应各个索引元组:
分别为(0,2),(4,3),(6,1)
如何选取矩阵的行列子集?下面是一种方法:(返回多维数组)
分别对应0、4、6索引列表的子元素(2,3,1)
另外一个办法是使用np.ix_函数,它可以将两个一维整数数组转换为一个用于选取方形区域的索引器:
记住,花式索引跟切片不一样,它总是将数据复制到新数组中。