python - 如何在 Pandas 的同一列中将每个值与项目的最大值进行比较
问题描述
我想计算 Max score - pandas Dataframe 中项目的每个分数
当前 df 看起来像这样:
projectID supplierID score
1 1 50
1 2 60
1 3 75
我希望它看起来像这样:
projectID supplierID score diff_to_max
1 1 50 25
1 2 60 15
1 3 75 0
我想为每个 projectID 执行此操作
解决方案
广播与transform
减法
df.groupby('projectID').score.transform('max') - df.score
推荐阅读
- html - 按钮 html 的动画 gif 图标
- makefile - Makefile 目标名称与字符串比较
- javascript - 在客户端使用 NPM 包和 nuxt
- twitter-bootstrap - 仅针对一个字段的引导表单验证
- c# - JPEG图像的C#质量较低
- r - 有没有办法使用 sqldf 在 R 中执行滞后操作
- python - 如何在 Django 中按特定顺序构建查询集
- python - 如何检查指定版本的包是否可用?
- react-native - 在android中使用react-native-keyboard-aware-scroll-view时出现偏移错误
- docker - 在 docker 我无法登录到 phppgadmin