首页 > 解决方案 > Python中的逆分数

问题描述

我有一个如下的数据框,

import pandas as pd

df = pd.DataFrame({'value': [54, 74, 71, 78, 12]})

预期输出,

value    score
 54    scaled value
 74    scaled value
 71    scaled value
 78     50.000
 12     600.00

我想为所有人分配一个介于 50 到 600 之间的分数,但最低值必须具有最高分数。你有想法吗?

标签: pythonpandas

解决方案


不确定您想要实现什么,也许您可​​以为此输入提供确切的预期输出。但如果我理解得很好,也许你可以试试

import pandas as pd

df = pd.DataFrame({'value': [54, 74, 71, 78, 12]})
min = pd.DataFrame.min(df).value
max = pd.DataFrame.max(df).value

step = 550 / (max - min)
df['score'] = 600 - (df['value']-min) * step

print(df)

这将输出

   value       score
0     54  250.000000
1     74   83.333333
2     71  108.333333
3     78   50.000000
4     12  600.000000

推荐阅读