python - 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 之间的分数,但最低值必须具有最高分数。你有想法吗?
解决方案
不确定您想要实现什么,也许您可以为此输入提供确切的预期输出。但如果我理解得很好,也许你可以试试
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
推荐阅读
- java - JPA 加载实体,但在 @OneToMany 列表中,仅加载特定的
- python - 如何“选择” spaCy 模式匹配的部分,而不是整个匹配?
- java - 如何模拟抽象类的抽象方法?
- css - Bootstrap 3,如何防止 col-md-# 堆叠?
- docker - 单独运行多个 docker-compose 文件
- python - python - 如何在python中的id =“firstheading”之后抓取网页上的所有信息?
- c# - Dotnet CSV Helper 无法解析文件
- javascript - 模拟键盘输入/将字符串插入文本区域(doulingo)
- sql - Oracle 从选择查询中获取当前年份和上一年以及来年
- python - 为什么我得到 IndexError: list index out of range