Saltar al contenido

Convierte Pandas Multi-Index en columna

Si hallas algún problema con tu código o proyecto, recuerda probar siempre en un entorno de testing antes añadir el código al trabajo final.

Solución:

los reset_index() es un método Pandas DataFrame que transferirá valores de índice al DataFrame como columnas. La configuración predeterminada para el parámetro es gota = falso (que mantendrá los valores de índice como columnas).

Todo lo que tienes que hacer es agregar .reset_index(inplace=True) después del nombre del DataFrame:

df.reset_index(inplace=True)  

Esto realmente no se aplica a su caso, pero podría ser útil para que otros (como yo hace 5 minutos) lo sepan. Si el multiíndice de uno tiene el mismo nombre así:

                         value
Trial        Trial
    1              0        13
                   1         3
                   2         4
    2              0       NaN
                   1        12
    3              0        34 

df.reset_index(inplace=True) fallará, porque las columnas que se crean no pueden tener los mismos nombres.

Entonces necesitas cambiar el nombre del índice múltiple con df.index = df.index.set_names(['Trial', 'measurement']) Llegar:

                           value
Trial    measurement       

    1              0        13
    1              1         3
    1              2         4
    2              0       NaN
    2              1        12
    3              0        34 

Y luego df.reset_index(inplace=True) funcionará como un encanto.

Encontré este problema después de agrupar por año y mes en una columna de fecha y hora (no índice) llamada live_datelo que significaba que tanto el año como el mes se nombraban live_date.

Como @ cs95 mencionó en un comentario, para bajar solo un nivel, use:

df.reset_index(level=[...])

Esto evita tener que redefinir el índice deseado después del reinicio.

valoraciones y comentarios

Si estás de acuerdo, tienes la habilidad dejar un escrito acerca de qué te ha impresionado de este enunciado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *