python - 计算最高分 - Pandas 中每个供应商的最低分

标签 python pandas dataframe pandas-groupby

我想计算 Max score - Min score for a project in pandas dataframe

当前 df 如下所示:

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

我希望它看起来像这样:
最大-最小 => 75-50 = 25

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

我想为每个项目 ID 执行此操作

最佳答案

使用 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

关于python - 计算最高分 - Pandas 中每个供应商的最低分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52838977/

相关文章:

r - 使用R//redux向redis传输数据

python - 替换列表内的值

python - Paramiko exec_command 失败, 'NoneType' 对象不可迭代

python - 没有外键约束的连接

python - df.reindex() 和 df.loc[] 的区别

python - 基于对合并数据帧

python - 如何让Python相信int类型实际上是hex类型?

python - pandas DataFrame 中的操作

python - pandas.DatetimeIndex 能否记住是否关闭?

python - 有没有办法让这变得更容易?