0
numpy有沒有一種方法可以確保對重複位置的數組操作映射進行縮減,即它們都是在彼此的結果上執行的?確保將numpy數組操作映射並行減少到重複位置
a = numpy.zeros([4], int) # [0 0 0 0]
b = numpy.arange(0, 8) # [0 1 2 3 4 5 6 7]
positions = [0, 0, 1, 1, 2, 2, 3, 3]
a[positions] += b
# desired result: [0 + 1, 2 + 3, 4 + 5, 6 + 7]
# actual result: random crossover between [0, 2, 4, 6] and [1, 3, 5, 7]
,你可以看到這兩個元素1和B圖2位置1和等等,我需要確保+ =增加了兩個,而默認情況下它看起來像它可以隨機增加1或2同時爲零,然後將結果存儲兩次,而這又是僅有一個操作的結果
我總是得到[1,3 ,5,7]。你在什麼版本上? – kezzos
沒關係,它是錯誤的組合之一 – Michele