我对python中的索引有点困惑。我有下面的数组
[[ 2 4] [ 6 8] [10 12] [14 16]]
并且我想获取数组([4,2])作为输出。我尝试使用
Q4= [Q3[0,1],Q3[0,0]]
我的输出是[4,2]。我漏掉了“array(“。在Python中有索引指针吗?谢谢!!
zujrkrfu1#
只需将第1行反向切片:
Q3[0,::-1]
array([4, 2])
oug3syen2#
虽然有一种选择是将结果 Package 在对numpy.array()的另一个调用中,
numpy.array()
np.array([Q3[0,1],Q3[0,0]])
使用整数高级索引是更好的做法,也可能是更好的性能。在这种情况下,您可以只使用前面的索引对numpy.ndarray.__getitem__进行一次矢量化调用(而不是两次独立的调用)。
numpy.ndarray.__getitem__
Q3[[0, 0], [1, 0]]
编辑:RomanPerekhrest's answer在这种情况下肯定更好,我的答案只对任意数组索引有用。
2条答案
按热度按时间zujrkrfu1#
只需将第1行反向切片:
oug3syen2#
虽然有一种选择是将结果 Package 在对
numpy.array()
的另一个调用中,使用整数高级索引是更好的做法,也可能是更好的性能。在这种情况下,您可以只使用前面的索引对
numpy.ndarray.__getitem__
进行一次矢量化调用(而不是两次独立的调用)。编辑:RomanPerekhrest's answer在这种情况下肯定更好,我的答案只对任意数组索引有用。