Код: Выделить всё
df = pd.DataFrame(
{
'a':[1,2,3,4,5,6],
'b':[1,1,3,3,5,5],
'c':[1,2,3,4,5,6],
'd':[1,1,1,1,1,5],
}
)
In [1051]: df
Out[1051]:
a b c d
0 1 1 1 1
1 2 1 2 1
2 3 3 3 1
3 4 3 4 1
4 5 5 5 1
5 6 5 6 5
Код: Выделить всё
In [1055]: columns = list(df.columns)
...:
...: dfSorted = df.sort_values(by=columns, ascending=False)
...:
...: print(dfSorted)
a b c d
5 6 5 6 5
4 5 5 5 1
3 4 3 4 1
2 3 3 3 1
1 2 1 2 1
0 1 1 1 1
Это так, потому что столбец d имеет только два разных значения (1 и 5), а столбцы c и a имеют разные значения. Столбец b находится между ...
Код: Выделить всё
In [1056]: dfSorted[['d','b','c','a']]
Out[1056]:
d b c a
5 5 5 6 6
4 1 5 5 5
3 1 3 4 4
2 1 3 3 3
1 1 1 2 2
0 1 1 1 1
Подробнее здесь: https://stackoverflow.com/questions/786 ... ing-output