Como classificar o frame de dados do pandas usando valores de várias colunas?

Eu tenho o seguinte quadro de dados:

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

Ou, em forma legível humana:

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

O seguinte comando de classificação funciona conforme o esperado:

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

Saída:

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

Mas o seguinte comando:

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

resulta em

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

e isso não é o que eu espero. Espero que os valores na primeira coluna sejam ordenados de maior para menor e, se houver valores idênticos na primeira coluna, ordenados pelos valores ascendentes da segunda coluna.

Alguém sabe por que não funciona como esperado?

ADICIONADO

Isso é copiar e colar:

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

questionAnswers(7)

yourAnswerToTheQuestion