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_date
lo 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.