我有一个索引数组:
test_idxs = np.array([4, 2, 7, 5])
我还有一个值数组(更长):
test_vals = np.array([13, 19, 31, 6, 21, 45, 98, 131, 11])
因此,我希望获取一个长度与索引数组相同的数组,但值数组中的值按索引数组的顺序排列。换句话说,我希望获取如下内容:
array([21, 31, 131, 45])
我知道如何在循环中执行此操作,但我不知道如何使用 Numpy 工具实现此操作。
使用 numpy 来实现这一点其实非常简单,只需使用(整数数组索引
test_vals
)对数组进行索引即可:test_idx
输出:
请注意,这要求索引有效。如果您的索引可能太高,则需要明确处理它们。
例子:
输出: