Python:每组多个统计信息

时间:2019-04-14 07:55:39

标签: python pandas numpy pandas-groupby

我正在尝试对每个组进行多个统计。我可以对每个组进行计数,但无法弄清楚如何获得每个组的百分比。

这是我所拥有的:

在我的示例中,我强制所有行使用881来计算百分比值,但是我想将881替换为每个final_stage的计数之类的东西,并计算每个final_stage的百分比。 / p>

1 个答案:

答案 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)