【发布时间】:2016-10-24 05:46:24
【问题描述】:
我在寻找关于 numpy 数组重复操作的问题时找到了这个答案:Increment Numpy multi-d array with repeated indices。我现在的问题是,为什么会出现这种行为。
import numpy as np
t = np.eye(4)
t[[0,0,1],[0,0,1]]
导致
array([1.,1.,1.])
不应该
t[[0,0,1],[0,0,1]]+=1
导致
[[3,0,0,0],
[0,2,0,0],
[0,0,1,0],
[0,0,0,1]]
?
【问题讨论】:
-
存在缓冲问题。
np.add.at旨在解决这个问题。
标签: python arrays numpy indices in-place