我正在尝试使用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