Sum array by number in numpy

The numpy function bincount was made exactly for this purpose and I’m sure it will be much faster than the other methods for all sizes of inputs:

data = [1,2,3,4,5,6]
ids  = [0,0,1,2,2,1]

np.bincount(ids, weights=data) #returns [3,9,9] as a float64 array

The i-th element of the output is the sum of all the data elements corresponding to “id” i.

Hope that helps.

Leave a Comment