通过不同地聚合列在Pandas中使用groupby

时间:2016-05-24 19:35:27

标签: python pandas

我有以下dataFrame:

 df = pd.DataFrame([["John", 1234 , 10], 
                    ["John",1234, 5] , 
                    ["Sally" , 1235 , 20] , 
                    ["Sally" , 1235, 5]], 
columns = ["Name", "ID", "Amount"])

我想按名称对此dataFrame进行分组。我能做到:

group = df.groupby('Name').agg('sum')

哪会给我:

         ID  Amount
Name               
John   2468      15
Sally  2470      25

但是,我希望通过&#39; count&#39; 汇总列 ID &#39; sum&#39; < 金额。看起来像是:

         ID  Amount
Name               
John     2      15
Sally    2      25

我该怎么做?

1 个答案:

答案 0 :(得分:3)

>>> df.groupby('Name').agg({'ID': 'count', 'Amount': 'sum'})
       Amount  ID
Name             
John       15   2
Sally      25   2