大熊猫中几列的聚合

时间:2014-09-16 02:26:24

标签: python pandas

我在dataframe df中有以下数据:

VALUE   COUNT   REGION  ID
235     15      LP      139
355     59      LP      102
421     8       LP      127
427     227     LP      90
439     4       LP      133
235     45      UP      139
355     231     UP      102
421     756     UP      127
427     23      UP      90
439     76      UP      133

我想组合数据框,以便合并具有公共'VALUE'的行。他们的数量应该加起来。但是,列REGION不需要包含在最终数据帧中。我尝试了以下方法:

df.groupby(['VALUE'])['COUNT'].sum()

如何让它返回所有列(REGION除外)?

1 个答案:

答案 0 :(得分:2)

您可以告诉aggregate对多个列执行多项操作。

你没有提到你想要对ID列做什么,所以我在这里采取第一个。无法求和的列通常会被静默删除,这种情况也是如此。

In [51]: df.groupby('VALUE').aggregate({'COUNT':np.sum, 'ID':lambda x:x.iloc[0]})
Out[51]: 
       COUNT   ID
VALUE            
235       60  139
355      290  102
421      764  127
427      250   90
439       80  133

(一般来说,groupby的docs是关于pandas imho的最有用的信息之一