使用索引数组对另一个数组进行索引时,每个索引数组的形状应与 输出 数组的形状匹配。您希望列索引匹配
inds,并且您希望行索引匹配输出的行,例如:
array([[0, 0], [1, 1], [2, 2]])
由于广播的缘故,您只能使用上面的一列,因此您可以使用
np.arange(3)[:,None]vertical,
arange因为它会
None插入新的轴:
>>> np.arange(3)[:, None]array([[0], [1], [2]])
最后,一起:
>>> a[np.arange(3)[:,None], inds]array([[0, 3], # a[0,[0,1]] [6, 0], # a[1,[1,2]] [0, 9]]) # a[2,[0,2]]



