Suma acumulativa de una matriz numpy por índice

Suponga que tiene una serie de valores que deberán sumarse

d = [1,1,1,1,1]

y una segunda matriz que especifica qué elementos deben sumarse

i = [0,0,1,2,2]

El resultado se almacenará en una nueva matriz de tamaño.max(i)+1. Así por ejemploi=[0,0,0,0,0] sería equivalente a sumar todos los elementos ded y almacenar el resultado en la posición0 de una nueva gama de tamaños1.

Traté de implementar esto usando

c = zeros(max(i)+1)
c[i] += d

sin embargo, el+= La operación agrega cada elemento solo una vez, dando así el resultado inesperado de

[1,1,1]

en lugar de

[2,1,2]

¿Cómo se implementaría correctamente este tipo de resumen?

Respuestas a la pregunta(5)

Su respuesta a la pregunta