首页 > 解决方案 > 如何在 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 执行此操作

标签: pythonpandasdataframe

解决方案


广播与transform减法

df.groupby('projectID').score.transform('max') - df.score

推荐阅读