高级索引
在numpy或pytorch等框架中的对张量的操作不只提供了类似python列表的切片索引等操作,还提供了高级索引。
高级索引大致可分为整数数组索引、布尔索引及花式索引三类:
整数数组索引
整数数组索引指使用同形状的多个数组分别指定元素的所有维度(不指定的维度也可以用切片:
或省略号...
与索引数组组合),可精准取出一批指定位置的元素,按照给定数组形状返回。
如给定4*3 的二维数组
x = np.arange(12).reshape(4,3)
print(x)
输出为:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
1.取出其(0,0),(1,1)和(2,0)位置处的元素。
给出两个一维数组分别指定第0维和第1维
y = x[[0,1,2], [0,1,0]]
print(y)
#[0 4 6]
2.传入的位置指定数组也可为多维,取出其[[(0,0)