根据两个标识符汇总行

时间:2019-01-24 01:28:46

标签: python pandas dataframe merge

我有以下数据集

df = pd.DataFrame({'A' : ['E1', 'E1', 'E1', 'E2', 'E2'],
                   'B' : ['R1', 'R1', 'R2', 'R2', 'R2'],
                   'C' : [100, 100, 300, 250, 250]})

我现在想使用AB作为观察的共享标识符来汇总行。然后,我想计算C的总和和平均值,并计算观察到的对的次数并将这些值附加到数据帧中。

df = pd.DataFrame({'A' : ['E1', 'E1', 'E2'],
                   'B' : ['R1', 'R2', 'R2'],
                   'C_sum' : [200, 300, 500],
                   'C_avg' : [100, 300, 250],
                   'count' : [2, 1, 2]})

1 个答案:

答案 0 :(得分:1)

groupbyagg一起使用

df.groupby(['A','B']).C.agg(['sum','mean','count']).reset_index()
A  B   sum  mean  count                  
E1 R1  200   100      2
E2 R2  300   300      1
E2 R2  500   250      2