数据帧中Pandas中的聚合列

时间:2017-06-12 18:58:39

标签: python pandas dataframe pandas-groupby

我使用groupby()和reset_index()函数创建具有聚合值的列和来自Pandas Dataframe的数据:

df=data.groupby(["subscription_id"])["count_boxes"].sum().reset_index(name="amount_boxes")

df1=data.groupby(["subscription_id"])["product"].count().reset_index(name="count_product")

想要将所有这些汇总列(" amount_boxes"" count_product")与groupby列" subscription_id"组合在一个数据框中。有没有办法在函数中执行此操作而不是合并数据框?

1 个答案:

答案 0 :(得分:1)

让我们看一下使用.agg和列和聚合函数的字典。

(df.groupby('Subscription_id')
   .agg({'count_boxes':'sum','product':'count'})
   .reset_index()
   .rename(columns={'count_boxes':'amount_boxes','product':'count_product'}))

示例输出:

   Subscription_id  amount_boxes  count_product
0                1            16              2
1                2            39              6
2                3            47              7