切片NumPy数组 - 选择与某些索引对应的值

时间:2012-07-06 09:39:31

标签: python numpy

是否有一种简单的方法可以从与某些索引相对应的数组中选择元素。示例:假设我有一个索引数组,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)).

2 个答案:

答案 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]