【问题标题】:Python: Multiple Statistics per Group [duplicate]Python:每组多个统计信息[重复]
【发布时间】:2019-09-04 11:43:37
【问题描述】:

我正在尝试对每个组进行多项统计。我可以计算每组的数量,但我不知道如何获得每组的百分比。

这是我所拥有的:

在我的示例中,我强制所有行的 881 来计算百分比值,但我想将 881 替换为 count of each final_stage 并计算每个 final_stage 的百分比。

【问题讨论】:

  • 请将示例 df 和预期输出 df 作为文本连同说明一起发布,图片无法复制。
  • 来自How to Ask: "请勿发布代码、数据、错误消息等的图像 - 复制或在问题中键入文本。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。"

标签: python pandas numpy pandas-groupby


【解决方案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)

【讨论】:

  • 非常感谢您的及时回复!我正在努力处理另一个 groupby 语句,如下面的link 所示。非常感谢您的帮助:)
  • @user9532692 - 添加解决方案
猜你喜欢
  • 1970-01-01
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 2011-04-25
  • 1970-01-01
相关资源
最近更新 更多