Python计算groupby之后的份额
我想按postalcodes对以下数据集类型进行分组,并计算每个发货方法在每个postalcode中的已完成订单份额。 我已经实现了一个csv文件,并尝试了下面的代码,但我意识到我需要多索引来实现它——因为我有很多不同的postalcodes,我不知道如何使用它 后酒精 装运方法 已完成的订单 12345 邮政1 1. 12345 邮政2 3. 12345 邮政3 2. 11123 邮政1 1. 11123 邮政2 2. 像这样Python计算groupby之后的份额,python,pandas,pandas-groupby,aggregation,percentage,Python,Pandas,Pandas Groupby,Aggregation,Percentage,我想按postalcodes对以下数据集类型进行分组,并计算每个发货方法在每个postalcode中的已完成订单份额。 我已经实现了一个csv文件,并尝试了下面的代码,但我意识到我需要多索引来实现它——因为我有很多不同的postalcodes,我不知道如何使用它 后酒精 装运方法 已完成的订单 12345 邮政1 1. 12345 邮政2 3. 12345 邮政3 2. 11123 邮政1 1. 11123 邮政2 2. 像这样 result = df['completed_orders'] /
result = df['completed_orders'] / df.groupby(['postalcode'])['completed_orders'].transform(sum)
# Out[43]:
# 0 0.166667
# 1 0.500000
# 2 0.333333
# 3 0.333333
# 4 0.666667
# Name: completed_orders, dtype: float64
您可能需要额外的groupby才能获得百分比贡献
df_agg=df_1.groupby(['postalcode', 'shipping_method'])['completed_orders'].sum()
df_agg.groupby(level=0).apply(lambda x: 100*x/float(x.sum()))
资料来源:哇,我自己真的把事情弄复杂了。谢谢!不客气@SevgiCamuz!如果您觉得答案有用,请向上投票:)Def!:)您知道为什么“已完成订单份额”列的名称不显示吗?