将每列从高到低排序



我有一个数据集,它显示了不同数据集上不同方法获得的精度值。每行表示一个数据集。数据框看起来像这样:

Method_1   Method_2   Method_3   Method_4
84.3       82.1       90.7       73.5
82.1       79.8       83.3       60.2
84.2       88.5       90.1       95.3

我需要对每一行进行排序(从1到4),以便1是最高或最大的值,4是最小的值。

所以输出应该是这样的:

Method_1   Method_2   Method_3   Method_4
2          3          1          4
2          3          1          4
4          3          2          1

知道如何实现它吗?

您可以使用rankascending=False:

df.rank(axis=1, ascending=False).convert_dtypes()

NB。在平局的情况下,使用method参数设置所需的选项(min/max/average/first/dense)

输出:

Method_1  Method_2  Method_3  Method_4
0         2         3         1         4
1         2         3         1         4
2         4         3         2         1

最新更新