python-3.x - Pandas groupby 每组并将每一行除以其总和
问题描述
我有一个df
df = pd.DataFrame({'group':['a','a','b','b','c','c','c'], 'score':[1,2,3,4,5,6,7]})
group score
0 a 1
1 a 2
2 b 3
3 b 4
4 c 5
5 c 6
6 c 7
我想将每一行除以其组的总和。因此对于 a 组,2 行中的每一行将除以 3 (2+1),对于 c 组,3 行中的每一行将除以 18 (5+6+7),给出:
group score
0 a 0.33
1 a 0.67
2 b 0.43
3 b 0.57
4 c 0.28
5 c 0.33
6 c 0.39
我正在考虑使用一种df.groupby('group')['score'].apply(lambda x: x / sum???)
方法,但无法弄清楚。任何帮助将不胜感激!
解决方案
推荐阅读
- git - 我错误地发出了一个 git branch --set-upsteam-to,那是做什么的?
- javascript - 'prop-types' 应该列在项目的依赖项中,而不是 devDependencies
- python - 循环通过多个 API 链接获取数据?似乎从一个链接带回数据
- python - 如何使用函数定义的简单断言语句来接受 2 个参数中的 1 个,但不能同时接受关键字参数?
- typescript - 如何使用 .map 和 .filter 将两个数组合并为一个
- html - 给它一个边框后按钮不再可点击
- python - 如何让笛卡尔积过滤出具有重复结果的元组对?
- groovy - Groovy - 插入方法后没有方法签名
- python - 在 tkinter 中调整画布大小和重绘画布
- java - Jframe.setContentPane(new JLabel([image])); 构建 .jar 后背景图像未加载