Creando un dataframe de pandas de múltiples niveles
Estoy tratando de crear un dataframe jerárquico basado en un dataframe que tengo. He logrado crear un dataframe con índice múltiple de la siguiente manera:
Imagen de la estructura del dataframe: enlace a la imagen
Entonces, el índice de mi dataframe es el siguiente:
MultiIndex([('x', 'yellow'),
('x', 'blue'),
('x', 'green'),
('x', 'white'),
('x', 'ind10'),
('x', 'red'),
('x', 'turquoise'),
('x', 'black'),
('x', 'purple'),
('x', 'orange'),
('x', 'ind11'),
('y', 'yellow'),
('y', 'blue'),
('y', 'green'),
('y', 'white'),
('y', 'ind10'),
('y', 'red'),
('y', 'turquoise'),
('y', 'black'),
('y', 'purple'),
('y', 'orange'),
('y', 'ind11')],
)
Ahora estoy tratando de convertir esto en algo con la siguiente estructura:
yellow x ........
y ........
orange x ........
y ........
.
.
.
ind11 x ........
y ........
Pero no puedo lograrlo. He intentado varias formas de pd.MultiIndex.from_frame
pero no he tenido éxito.
Cualquier ayuda sería muy apreciada.
davy.ai
Para convertir el dataframe de índice múltiple actual en la estructura deseada, puede utilizar el método
unstack
del dataframe de pandas.Aquí tienes un código de ejemplo:
En el código anterior, el método
unstack
convierte el nivel más interno del índice múltiple en columnas, y el métodoswaplevel
intercambia el orden de los niveles del índice para obtener la estructura deseada.¡Espero que esto ayude!