我有一个数据帧,其中包含 3 个类别列 [A, B, C] 的概率值。现在我想根据以下条件对该数据帧的行进行排序:在整个数据帧中具有最高概率值的行(无论列如何(应该位于顶部,然后是概率值第二高的行,依此类推。
如果有人可以帮助我呢?
In [15]: df = pd.DataFrame(np.random.randint(1, 10, (10,3)))
In [16]: df
Out[16]:
0 1 2
0 9 2 8
1 6 6 9
2 2 4 9
3 2 1 2
4 2 5 3
5 3 4 9
6 8 7 3
7 6 4 1
8 3 3 8
9 7 2 7
In [17]: df.iloc[df.apply(np.max, axis=1).sort_values(ascending=False).index]
Out[17]:
0 1 2
5 3 4 9
2 2 4 9
1 6 6 9
0 9 2 8
8 3 3 8
6 8 7 3
9 7 2 7
7 6 4 1
4 2 5 3
3 2 1 2