что вы можете сделать, это отсортировать индексы и значения в порядке возрастания, а затем суммировать их.Вот пример кода:
import numpy as np
ind = [0,1,4,2,2]
vals = [5,4,3,2,1]
points = zip(ind,vals)
sorted_points = sorted(points)
new_ind = [point[0] for point in sorted_points]
new_val = [point[1] for point in sorted_points]
output = np.zeros((len(new_ind)))
for i in range(len(new_ind)):
output[new_ind[i]] += new_val[i]
В этом коде значения индекса сортируются в порядке возрастания, а затем массив значений перестраивается в соответствии с отсортированным массивом индекса.Затем, используя простой цикл for, вы можете суммировать значения каждого существующего индекса и вычислять результат.