我想使用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)
答案 0 :(得分:1)
您可以使用简单的索引:
>>> vals[ind] = new_vals
>>> vals
array([ 0, -1, 2, -2, 4])