我正在嘗試使用numpy數組索引(沒有顯式迭代數組)。只是爲了檢查是否按預期工作我做了如下測試:修改具有多重索引的索引數組的numpy數組
import numpy as np
arr = np.zeros(10)
inds = np.array([1,2,3,1,3,5,3])
arr[inds] += 1.0
print(arr)
結果是
[ 0. 1. 1. 1. 0. 1. 0. 0. 0. 0.]
而不是
[ 0. 2. 1. 3. 0. 1. 0. 0. 0. 0.]
。
(即它忽略了它出現在索引陣列多次索引)
我不知道是否有某種原因,這種行爲(也許是爲了讓這些獨立經營秩序,因此更容易paralellize)。
有沒有其他方法如何在numpy中做到這一點?
你的腳本做是添加+1到INDS指定的ARR指標即在索引(1,2,3,5) – Jalo