Ответ 1
Начиная с версии 0.17.0 метод sort
устарел в пользу sort_values
. sort
был полностью удален в выпуске 0,20,0. Аргументы (и результаты) остаются теми же:
df.sort_values(['a', 'b'], ascending=[True, False])
Вы можете использовать восходящий аргумент sort
:
df.sort(['a', 'b'], ascending=[True, False])
Например:
In [11]: df1 = pd.DataFrame(np.random.randint(1, 5, (10,2)), columns=['a','b'])
In [12]: df1.sort(['a', 'b'], ascending=[True, False])
Out[12]:
a b
2 1 4
7 1 3
1 1 2
3 1 2
4 3 2
6 4 4
0 4 3
9 4 3
5 4 1
8 4 1
Как прокомментировал @renadeen
Сортировка по умолчанию не установлена! Таким образом, вы должны назначить результат метода сортировки переменной или добавить inplace = True в вызов метода.
то есть, если вы хотите повторно использовать df1 как отсортированный DataFrame:
df1 = df1.sort(['a', 'b'], ascending=[True, False])
или
df1.sort(['a', 'b'], ascending=[True, False], inplace=True)