给定一个Numpy数组x
和一个整数数组y
,我想做一些相当于的事情:
z = np.array(x[i] for i in y)
是否有Numpy函数/方法可以有效地执行此操作而无需转换回列表?
答案 0 :(得分:3)
如果y
包含对x
有效的索引,则:
z = x[y]
>>> import numpy as np
>>> x = np.arange(100)
>>> y = np.array([1, 27, 36, 98])
>>> x[y]
array([ 1, 27, 36, 98])