首页 > 解决方案 > 计算最高分数 - Pandas 中每个供应商的最低分数

问题描述

我想计算最大分数 - 熊猫数据框中项目的最小分数

当前 df 看起来像这样:

projectID supplierID score
1         1          50
1         2          60 
1         3          75

我希望它看起来像这样:
max-min => 75-50 = 25

projectID supplierID score max-min
1         1          50    25
1         2          60    25
1         3          75    25 

我想为每个 projectID 执行此操作

标签: pythonpandasdataframepandas-groupby

解决方案


使用np.ptp(“峰到峰”):

df['max-min']=df.groupby('projectID').score.transform(np.ptp)
#df.groupby('projectID').score.transform(np.ptp)
Out[229]: 
0    25
1    25
2    25
Name: score, dtype: int64

推荐阅读