Dataframe 中 Pandas 中的聚合列
Aggregated Columns in Pandas within a Dataframe
我正在使用 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"。有什么方法可以在函数中执行此操作而不是合并数据帧吗?
让我们看看使用 .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
我正在使用 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"。有什么方法可以在函数中执行此操作而不是合并数据帧吗?
让我们看看使用 .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