【发布时间】:2023-03-25 18:10:01
【问题描述】:
我有一个 numpy 数组,例如
original_array=np.arange(5)
我有另一个数组来存储要更新的索引值
indices=[0,1,2,1,1]
indices 元素中的重复表示该元素被多次更新。
我还有存储要添加的值的数组。
updation_values=[0.2,0.2,0.4, 0.5, 0.4]
通常我将数组更新为
for update_value, index in zip(updation_values, indices):
original_array[index]+=update_value
除了循环还有更好的方法吗?
original_array[indices]+=updation_values
似乎不起作用,因为它只更新每个唯一索引的最后一个实例。
【问题讨论】:
-
查找
np.add.at- 在文档或 SO -
谢谢@hpaulj,当我们尝试添加矩阵而不仅仅是数字时,我无法理解这里的可广播性意味着什么。
标签: python arrays python-3.x numpy