Python:每个组有多个统计信息

Python:每个组有多个统计信息,python,pandas,numpy,pandas-groupby,Python,Pandas,Numpy,Pandas Groupby,我试着对每个小组进行多重统计。我可以计算每组的数量,但我不知道如何计算每组的百分比 以下是我所拥有的: 在我的示例中,我强制所有行的881计算百分比值,但我想用每个最终_阶段的计数之类的内容替换881,并计算每个最终_阶段的百分比。我认为您需要在groupby之后指定列,并使用聚合函数传递具有新列名称的元组: df.groupby('final_stage')['d1'].agg([('ctn','size'), ('percent', lambda x: len(x)/ len(df))])

我试着对每个小组进行多重统计。我可以计算每组的数量,但我不知道如何计算每组的百分比

以下是我所拥有的:


在我的示例中,我强制所有行的881计算百分比值,但我想用每个最终_阶段的计数之类的内容替换881,并计算每个最终_阶段的百分比。

我认为您需要在
groupby
之后指定列,并使用聚合函数传递具有新列名称的元组:

df.groupby('final_stage')['d1'].agg([('ctn','size'), ('percent', lambda x: len(x)/ len(df))])
或:


请以文本形式发布示例df和预期输出df以及解释,图像无法复制。发件人:“请勿发布代码、数据、错误消息等的图像-复制或在问题中键入文本。请保留图像用于图表或演示渲染错误,这是无法通过文本准确描述的。”非常感谢您的及时回复!我正在努力处理另一个groupby语句,如下所示。非常感谢您的帮助:)@user9532692-添加了解决方案
df1 = df.groupby('final_stage')['d1'].size().reset_index(name='ctn')
df1['percent'] =  df1['ctn'] / len(df)