这是我的数据框。
Date CA KY ID CO
2003-01-31 5 -6 7 1
2003-02-28 6 2 -2 -5
2003-03-31 3 -8 4 -1
我想知道如何获得以下 DataFrame 作为输出。我知道这不是 argsort(),因为它按顺序给我索引。
Date CA KY ID CO
2003-01-31 2 0 3 1
2003-02-28 3 2 1 0
2003-03-31 2 0 3 1
如果我也想按降序排列它们,我该怎么做?我想列数减去数字列会起作用。
最佳答案
df.rank(axis=1, method='first')
返回:
CA KY ID CO
Date
2003-01-31 3.0 1.0 4.0 2.0
2003-02-28 4.0 3.0 2.0 1.0
2003-03-31 3.0 1.0 4.0 2.0
如果你想要完全一样,你可以这样做:
df.rank(axis=1, method='first') - 1
CA KY ID CO
Date
2003-01-31 2.0 0.0 3.0 1.0
2003-02-28 3.0 2.0 1.0 0.0
2003-03-31 2.0 0.0 3.0 1.0
对于降序:
df.rank(axis=1, method='first', ascending=False)
关于python - 使用 Pandas 数据框按排序顺序输出排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63761339/