【问题标题】:Pandas DataFrame assign hirachic number to elementPandas DataFrame 将 hirachic 编号分配给元素
【发布时间】:2019-02-06 06:01:24
【问题描述】:

我有以下数据框:

   a  b  c  d
0  1  4  9  2
1  2  5  8  7
2  4  6  2  3
3  3  2  7  5

我想根据它的顺序为一行中的每个元素分配一个数字。结果应如下所示:

   a  b  c  d
0  1  3  4  2
1  1  2  4  3
2  3  4  1  2
3  2  1  4  3 

我尝试使用不起作用的 np.argsort 函数。有人知道一个简单的方法吗?谢谢。

【问题讨论】:

  • 如果我的回答有帮助,请不要忘记accept 它 - 单击答案旁边的复选标记,将其从灰色切换为已填充。谢谢。

标签: python pandas dataframe filtering


【解决方案1】:

使用DataFrame.rank:

df = df.rank(axis=1).astype(int)
print (df)
   a  b  c  d
0  1  3  4  2
1  1  2  4  3
2  3  4  1  2
3  2  1  4  3

【讨论】:

    猜你喜欢
    • 2021-04-12
    • 2020-09-30
    • 2020-02-13
    • 2016-08-26
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2022-08-23
    • 2019-07-12
    相关资源
    最近更新 更多