将值列表分配给索引列表

时间:2016-04-09 19:07:06

标签: python numpy

我想使用Numpy为特定索引分配一些新值。我可以使用for循环轻松完成此操作:

import numpy as np

vals = np.arange(5)
new_vals = np.array([-1, -2])
ind = np.array([1, 3])

for i in list(ind):
    vals[i] = new_vals[i]

但是我如何以矢量化的方式实现这一目标?像

这样的东西
np.splat(vals[ind], new_vals)

1 个答案:

答案 0 :(得分:1)

您可以使用简单的索引:

>>> vals[ind] = new_vals
>>> vals
array([ 0, -1,  2, -2,  4])