标题可能有些混乱,我将在这里解释: 给定一个数组:
arr = np.array([1.0, 2.0])
并给出索引列表:
idxes = np.array([0, 0, 1, 0])
和要添加的号码列表:
e = np.array([0.1, 0.35, 0.5, 0.2])
我想要得到这样的结果:
arr[idxes] += e
表示
[arr[0], arr[0], arr[1], arr[0]] + [0.1, 0.35, 0.5, 0.2]
以使arr[0]
的添加量是arr[0] = arr[0] + 0.1 + 0.35 + 0.2 = 1.65
的三倍,而arr[1]
的添加量是arr[1] = arr[1] + 0.5 = 2.5
的一倍,
如何在没有for循环的情况下直接做到这一点?