Самый эффективный способ суммирования огромного 2D-массива NumPy, сгруппированного по Столбец идентификатора?

У меня есть массивный массив данных (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])

К сожалению, я нахожу первую команду медленной. Есть ли более эффективный способ сделать это?

6
задан Cleb 7 July 2016 в 12:36
поделиться