我正在尝试对每个组进行多个统计。我可以对每个组进行计数,但无法弄清楚如何获得每个组的百分比。
这是我所拥有的:
在我的示例中,我强制所有行使用881来计算百分比值,但是我想将881替换为每个final_stage的计数之类的东西,并计算每个final_stage的百分比。 / p>
答案 0 :(得分:1)
我相信您需要在groupby
之后指定列,并通过具有聚合功能的新列名称传递元组:
df.groupby('final_stage')['d1'].agg([('ctn','size'), ('percent', lambda x: len(x)/ len(df))])
或者:
df1 = df.groupby('final_stage')['d1'].size().reset_index(name='ctn')
df1['percent'] = df1['ctn'] / len(df)