是否有一种简单的方法可以从与某些索引相对应的数组中选择元素。示例:假设我有一个索引数组,IDX = array((3,7,5))和一个数组A = array((2,5,3,1,7,5,1,9,7,4, 2,5))我想从中选择A中与IDX中给出的索引相对应的元素。
即。我正在寻找这样的东西:
A[IDX] = array((1,9,5)) or
A[3,7,5] = array((1,9,5)).
答案 0 :(得分:3)
使用Numpy,我会这样做:
>>> import numpy as np
>>> IDX = np.array([3,7,5])
>>> A = np.array([2,5,3,1,7,5,1,9,7,4,2,5])
>>> A[IDX]
array([1, 9, 5])
答案 1 :(得分:1)
我没有安装numpy,但是使用标准的python你可以使用列表理解,我想numpy数组的行为应该不同:
>>> IDX = (3,7,5)
>>> A = (2,5,3,1,7,5,1,9,7,4,2,5)
>>> [A[i] for i in IDX]
[1, 9, 5]