¿Cómo ordenar el marco de datos de pandas usando valores de varias columnas?

Tengo el siguiente marco de datos:

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

O, en forma legible para humanos:

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

El siguiente comando de clasificación funciona como se espera:

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

Salida:

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

Pero el siguiente comando:

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

resultados en

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

Y esto no es lo que espero. Espero tener los valores en la primera columna ordenados de mayor a menor, y si hay valores idénticos en la primera columna, ordenados por los valores ascendentes de la segunda columna.

¿Alguien sabe por qué no funciona como se esperaba?

ADICIONAL

Esto es copiar y pegar:

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