添加到Numpy Array by-index,其中存在重复的索引值

时间:2017-12-20 21:16:48

标签: python numpy vectorization

想象一下,我们有一个名为count的数组,大小为N,初始化为零:

import numpy as np
N = 100
count = np.zeros(N)  # Shape (N,)

一组索引,可能包含重复项,以及一组布尔值(或任何类型的值):

IDX = np.random.choice(N,N,replace=True)  # Shape (N,)
mask = np.random.rand(N)>.5  # Shape (N,)

我想按位置计算True的数量。

count[IDX] += mask

但是对于此输出,计数的最大值将等于1.

这是因为,我认为,重复项不能像这样在管道中处理,我怀疑使用了第一个或最后一个。

是否有可以准确执行此功能的矢量化等效代码?

谢谢!

0 个答案:

没有答案