簡體   English   中英

如何在python中將列的數值從低到高替換?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM