一、Numpy的花式索引Fancy Indexing
花式索引Fancy Indexing是 NumPy 采用的一个术语,用于描述使用整数数组进行索引。
1.举例:用元组来创建一个8x4的二维数组zeros,并循环赋值:
import numpy as np
arr = np.zeros((8, 4))
#为二维数组arr每行赋值
for i in range(8):
arr[i] = i
print(arr)
上面代码输出:
[[0. 0. 0. 0.]
[1. 1. 1. 1.]
[2. 2. 2. 2.]
[3. 3. 3. 3.]
[4. 4. 4. 4.]
[5. 5. 5. 5.]
[6. 6. 6. 6.]
[7. 7. 7. 7.]]
要按特定顺序选择arr数组行的子集,只需传递指定顺序的整数列表或 ndarray 即可,如下:
arr[[4, 3, 0, 6]] 传递了整数列表[4, 3, 0, 6],表示取二维数组arr的行索引位置为4、3、0、6的行并按此顺序输出子集:
[[4. 4. 4. 4.]
[3. 3. 3. 3.]
[0. 0. 0. 0.]
[6. 6. 6. 6.]]
也可以使用负数索引从后往前来选择