groupby col1 的总和除以 col2 的总和

Posted

技术标签:

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

我有这样的 DF:

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

我该怎么做?

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

【问题讨论】:

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

【讨论】:

是的,谢谢,这是一半的答案,值堆叠在第一行,如何将每个值实现到每个需要的行?

以上是关于groupby col1 的总和除以 col2 的总和的主要内容,如果未能解决你的问题,请参考以下文章

大熊猫中分组的条件比率

Pandas - dataframe groupby - 如何获得多列的总和

SQL Server:查询以获取表 1 的 Col1 中的值的总和,以获取表 2 的 Col2 中的条件

来自mongodb的多个集合的总和

火花数据集分组和总和

PySpark groupby 多个时间窗口