python - index - Clasificación de índice múltiple en pandas
python group by agg (1)
Tengo un conjunto de datos con columnas de múltiples índices en pandas df que me gustaría ordenar por valores en una columna específica. He intentado usar sortindex y sortlevel, pero no he podido obtener los resultados que estoy buscando. Mi conjunto de datos se ve así:
Group1 Group2
A B C A B C
1 1 0 3 2 5 7
2 5 6 9 1 0 0
3 7 0 2 0 3 5
Quiero ordenar todos los datos y el índice por la columna C en el Grupo 1 en orden descendente para que mis resultados se vean así:
Group1 Group2
A B C A B C
2 5 6 9 1 0 0
1 1 0 3 2 5 7
3 7 0 2 0 3 5
¿Es posible hacer este tipo de ordenamiento con la estructura en la que se encuentran mis datos, o debería estar cambiando el Grupo 1 al lado del índice?
Cuando clasifique por un MultiIndex, debe contener la tupla que describe la columna dentro de una lista *:
In [11]: df.sort_values([(''Group1'', ''C'')], ascending=False)
Out[11]:
Group1 Group2
A B C A B C
2 5 6 9 1 0 0
1 1 0 3 2 5 7
3 7 0 2 0 3 5
* para no confundir a los pandas y hacerles pensar que primero quieren clasificar por Group1 y luego por C.
Nota: Originalmente utilizado .sort
desde obsoleto, luego eliminado en 0.20, a favor de .sort_values
.