NumPy花式索引的用法(附带实例)
NumPy 会比一般的 Python 序列提供更多的索引方式,包括整数数组索引、布尔索引及花式索引。
花式索引将索引数组的值作为目标数组某个轴的下标来取值:
花式索引跟切片不一样,它总是将数据复制到新数组中。比如传入顺序索引数组:
传入倒序索引数组:
传入多个索引数组(要使用 np.ix_):
花式索引将索引数组的值作为目标数组某个轴的下标来取值:
- 对于使用一维整型数组作为索引,如果目标是一维数组,那么索引的结果是对应下标的行;
- 如果目标是二维数组,那么索引的结果是对应位置的元素。
花式索引跟切片不一样,它总是将数据复制到新数组中。比如传入顺序索引数组:
x=np.arange(32).reshape((8,4)) print (x[[4,2,1,7]])输出结果为:
[[16 17 18 19]
[ 8 9 10 11]
[ 4 5 6 7]
[28 29 30 31]]
传入倒序索引数组:
x=np.arange(32).reshape((8,4)) print (x[[-4,-2,-1,-7]])输出结果为:
[[16 17 18 19]
[24 25 26 27]
[28 29 30 31]
[ 4 5 6 7]]
传入多个索引数组(要使用 np.ix_):
x=np.arange(32).reshape((8,4)) print (x[np.ix_([1,5,7,2],[0,3,1,2])])输出结果为:
[[ 4 7 5 6]
[20 23 21 22]
[28 31 29 30]
[ 8 11 9 10]]