Convierte Pandas Multi-Index en columna

Pandas DataFrame es una estructura de datos tabulares potencialmente heterogénea, de tamaño mutable, bidimensional con ejes etiquetados (filas y columnas). Un marco de datos de índice múltiple tiene una indexación jerárquica o de varios niveles. Podemos convertir fácilmente el índice multinivel en la columna mediante reset_index()método.

DataFrame.reset_index() se usa para restablecer el índice a su valor predeterminado y hacer que el índice sea una columna del marco de datos.

Paso 1: Creación de un marco de datos de múltiples índices.

Veamos un ejemplo haciendo primero un marco de datos de múltiples índices.

Código:

Python3

import pandas as pd
 
# Creating index for multi-index dataframe
tuples = [('A', 'a'), ('A', 'b'), ('B', 'a'), ('B', 'b')]
index = pd.MultiIndex.from_tuples(tuples)
 
# Value corresponding to the index
data = [2, 4, 6, 8]
 
# Creating dataframe using 'data' and 'index'
df = pd.DataFrame(data = data, index = index, columns = ['value'])
print(df)

Producción:

Paso 2: Convertir el índice en la columna.

Aquí podemos ver la indexación jerárquica, la vamos a convertir en una columna usando el método reset_index().

Python3

reset_df = df.reset_index()
print(reset_df)

Producción:

Aquí podemos ver que el índice es predeterminado ahora y nuestro índice múltiple ahora se convierte en columnas con el valor predeterminado. También podemos seleccionar qué nivel de índice múltiple restablecer usando el nivel de parámetro.

Código:

Python3

# rest only index 'indx1'
reset_indx1 = df.reset_index(level='indx1')
print(reset_indx1)

Producción:

Aquí, podemos ver que solo indx1 se restablece y se convierte en una columna, no ambos índices. Además, observe que no hay un índice predeterminado en este caso porque todavía queda un índice (indx2).

Publicación traducida automáticamente

Artículo escrito por piyushtiwari515 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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