一、numpy中的神奇索引
神奇索引是Numpy中的术语,用于描述使用整数数组进行数据索引。神奇索引实现的是给定多个矩阵的索引位置(使用列表或数组指定),获得这些指定位置的值,该方法不同于普通的切片索引,能够离散的获得矩阵元素的值,神奇索引的具体描述可参考《利用python进行数据分析》一书的第四章。
1、获得指定的行构成的子集(顺序)
import numpy as np
arr = np.empty((8,4))
for i in range(8):
arr[i] = i
print("arr:\n",arr)
print("arr[[2,1,3]]:\n",arr[[2,1,3]])
结果为:
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[[2,1,3]]:
[[2. 2. 2. 2.]
[1. 1. 1. 1.]
[3. 3. 3. 3.]]
2、获得指定的行构成的子集(逆序,从尾部进行选择)
import numpy as np
arr = np.empty((8,4))
for i in range(8):
arr[i] = i
print("arr:\n",arr)
print("arr[[-2,-1,-3]]:\n",arr[[-2,-1,-3]])
结果为:
arr:
[[0. 0. 0. 0.]