[英]How to replace the number values of a column by low to high in python?
我有这个:
A 29
B 45
C 75
D 22
E 58
E 58
F 61
G 47
G 47
我需要得到这个:
A 2
B 3
C 7
D 1
E 5
E 5
F 6
G 4
G 4
我考虑排序升序和排名,并在更改列值之后,但这不适用于第一列中的重复项。 需要第 1 列中的相等值在第 2 列中具有相同的排名值。有人吗?
您可以对值进行排序,对其进行枚举,然后遍历原始数据以获取原始数据值的索引。 下面是我的意思的一个例子:(只需根据您的需要实施)
data = {
"A": 29,
"B": 45,
"C": 75,
"D": 22,
"E": 58,
"E": 58,
"F": 61,
"G": 47,
}
sorted_data = dict(map(reversed, enumerate(sorted(data.values()), 1)))
result = {k: sorted_data[v] for k, v in data.items()}
结果
{'A': 2, 'B': 3, 'C': 7, 'D': 1, 'E': 5, 'F': 6, 'G': 4}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.