如何对数组中的相同值求和 - python

如果数组中第一列的值相同,如何求和第二列的值?

例如,如果我有一个数组[0,1],[1,1],[1,2],[2,5],[2,6]。结果应为[0,1],[1,3],[2,11]

就我而言,我使用的是numpy数组,如果有区别的话。

python大神给出的解决方案

import numpy as np

a = np.array([[0, 1],
              [1, 1],
              [1, 2],
              [2, 5],
              [2, 6]])

d = {}
for k, v in a:
    d[k] = d.get(k, 0) + v

b = np.array(d.items())

退货

b = np.array([[ 0,  1],
              [ 1,  3],
              [ 2, 11]])

或单行

from collections import Counter
b = np.array(sum((Counter({k:v}) for k,v in a), Counter()).items())