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 - 如何获得多列的总和