У меня есть массивный массив данных (500 тыс. Строк), который выглядит так:
id value score
1 20 20
1 10 30
1 15 0
2 12 4
2 3 8
2 56 9
3 6 18
...
Как видите, слева есть столбец с неуникальным идентификатором , и различные оценки в 3-м столбце.
Я хочу быстро сложить все оценки, сгруппированные по идентификаторам. В SQL это будет выглядеть так: ВЫБРАТЬ сумму (оценка) ИЗ таблицы ГРУППА ПО идентификатору
С помощью NumPy я попытался выполнить итерацию по каждому идентификатору, усекая таблицу по каждому идентификатору, а затем суммируя баллы для этой таблицы.
table_trunc = table[(table == id).any(1)]
score = sum(table_trunc[:,2])
К сожалению, я нахожу первую команду медленной. Есть ли более эффективный способ сделать это?