Я нашел этот ответ при поиске проблемы при повторных действиях на массивах numpy: Increment Numpy multi-d array with repeated indices. Теперь мой вопрос: ПОЧЕМУ это поведение наблюдается.Ожидаемое поведение при повторных операциях numpy
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' предназначен для того, чтобы обойти это. – hpaulj
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ufunc.at.html – hpaulj