【问题标题】:Groupby sum of col1 divided by sum of col2groupby col1 的总和除以 col2 的总和
【发布时间】:2022-01-17 09:47:06
【问题描述】:

我有这样的 DF:

我想通过他在考试中的总分来计算学生准备了多少,如下所示:

我该怎么做?

编辑: @user17242583 给出的答案是正确的,但是,值堆叠在第一行,如何将每个值实现到每个需要的行?

【问题讨论】:

  • 如果您阅读 pandas 的 wiki 页面 (stackoverflow.com/tags/pandas/info),您会看到一个指向“如何制作良好的可重现 pandas 示例”问题的链接。跨度>
  • 谢谢,我会看看,我试图找到类似的问题,但我发现的只是如何按一两列分组,但没有任何进一步的操作@PaulH

标签: python pandas group-by


【解决方案1】:

你可能想要这样的东西:

s = df.groupby(['Student', 'Exam']).apply(lambda group: (f'{group["IsCorrect"].sum()}\\{group.shape[0]}', (group['IsCorrect'].sum() / group.shape[0]))).reset_index(drop=True)
df['prepared'] = s.str[0]
df['prepared percentage'] = s.str[1]

【讨论】:

  • 是的,谢谢,这是一半的答案,值堆叠在第一行,如何将每个值实现到每个需要的行?
猜你喜欢
  • 2016-08-12
  • 1970-01-01
  • 2021-02-24
  • 2014-09-21
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多