我想尝试每组进行多次统计。我可以计算每个小组,但我无法弄清楚如何获得每组的百分比。
这是我有的:
在我的示例中,我强制所有行的881计算百分比值,但我想用每个final_stage的计数替换881并计算每个final_stage的百分比。
我相信您需要在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)