Как отсортировать фреймы данных панд, используя значения из нескольких столбцов?

У меня есть следующий фрейм данных:

df = pandas.DataFrame([{'c1':3,'c2':10},{'c1':2, 'c2':30},{'c1':1,'c2':20},{'c1':2,'c2':15},{'c1':2,'c2':100}])

Или в удобочитаемой форме:

   c1   c2
0   3   10
1   2   30
2   1   20
3   2   15
4   2  100

Следующая команда сортировки работает как положено:

df.sort(['c1','c2'], ascending=False)

Выход:

   c1   c2
0   3   10
4   2  100
1   2   30
3   2   15
2   1   20

Но следующая команда:

df.sort(['c1','c2'], ascending=[False,True])

результаты в

   c1   c2
2   1   20
3   2   15
1   2   30
4   2  100
0   3   10

и это не то, что я ожидаю. Я ожидаю, что значения в первом столбце упорядочены от наибольшего к наименьшему, и, если в первом столбце есть одинаковые значения, упорядочите по возрастанию значений из второго столбца.

Кто-нибудь знает, почему это не работает, как ожидалось?

ADDED

Это копирование-вставка:

>>> df.sort(['c1','c2'], ascending=[False,True])
   c1   c2
2   1   20
3   2   15
1   2   30
4   2  100
0   3   10

Ответы на вопрос(7)

Ваш ответ на вопрос