想象一下,我们有一个名为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.
这是因为,我认为,重复项不能像这样在管道中处理,我怀疑使用了第一个或最后一个。
是否有可以准确执行此功能的矢量化等效代码?
谢谢!