在Numpy中索引多维数组

ltskdhd1  于 2023-01-30  发布在  其他
关注(0)|答案(2)|浏览(164)

我对python中的索引有点困惑。我有下面的数组

[[ 2  4]
 [ 6  8]
 [10 12]
 [14 16]]

并且我想获取数组([4,2])作为输出。我尝试使用

Q4= [Q3[0,1],Q3[0,0]]

我的输出是[4,2]。我漏掉了“array(“。在Python中有索引指针吗?谢谢!!

zujrkrfu

zujrkrfu1#

只需将第1行反向切片:

Q3[0,::-1]
array([4, 2])
oug3syen

oug3syen2#

虽然有一种选择是将结果 Package 在对numpy.array()的另一个调用中,

np.array([Q3[0,1],Q3[0,0]])

使用整数高级索引是更好的做法,也可能是更好的性能。在这种情况下,您可以只使用前面的索引对numpy.ndarray.__getitem__进行一次矢量化调用(而不是两次独立的调用)。

Q3[[0, 0], [1, 0]]

编辑:RomanPerekhrest's answer在这种情况下肯定更好,我的答案只对任意数组索引有用。

相关问题