如何将熊猫行的值排列到单独的数据框中?

问题描述

我的df.shape(500,15)的数据框在(-1,1)之间具有不同的值。

df.head()

0            -0.2966                 -0.1140  ...   0.4699      0.1250
1            -0.3051                 -0.1157  ...   0.6686      0.3290
2            -0.2014                 -0.1427  ...   0.4758      0.4919
3            -0.2703                 -0.0928  ...   0.6004      0.2436
4            -0.3399                 -0.0964  ...   0.3777      0.4808

我想创建一个单独的数据框,以给出该特定行中列的排名。 例如,df_rank(单独的df)第一行将是排名不变,该行中最大的数字排名为1,最低的排名为15,而无需更改位置/排序。第二行也一样,依此类推。

df_rank

0    11    8....    3    7
1    12    8....    1    3
2    13    7....    2    4
3    11    6....    3    6
4    12    6....    2    7

对于所有500行...

解决方法

使用DataFrame.rank

df = df.rank(axis=1,ascending=False,method='dense').astype(int)
print (df)
   0  1  2  3
0  4  3  1  2
1  4  3  1  2
2  4  3  2  1
3  4  3  1  2
4  4  3  2  1

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...