Data Wrangling

Dominando los Índices de Pandas: Conversión entre Índices y Columnas

Spread the love

Los DataFrames de Pandas son una piedra angular de la manipulación de datos en Python. Sus índices a menudo contienen información crucial que es posible que desee integrar como columnas. Este artículo detalla varias técnicas para convertir el índice de un DataFrame en una columna, y viceversa.

Tabla de contenido:

  1. Agregar el índice como una nueva columna
  2. Cambiar el nombre de la columna de índice después de la conversión
  3. Convertir una columna en el índice
  4. Trabajar con estructuras MultiIndex

1. Agregar el índice como una nueva columna

El método más sencillo utiliza el atributo .index:


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

df['index_col'] = df.index
print(df)

Esto asigna directamente los valores del índice a una nueva columna llamada ‘index_col’.

2. Cambiar el nombre de la columna de índice después de la conversión

El método reset_index() transforma el índice en una columna, por defecto ‘index’. Utilice rename_axis() para una denominación personalizada:


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

df = df.rename_axis('original_index').reset_index()
print(df)

Esto renombra la columna de índice resultante a ‘original_index’.

3. Convertir una columna en el índice

Para realizar la operación inversa, utilice set_index():


import pandas as pd

data = {'index_col': [0, 1, 2], 'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

df = df.set_index('index_col')
print(df)

Esto establece ‘index_col’ como el nuevo índice del DataFrame.

4. Trabajar con estructuras MultiIndex

Para escenarios más complejos que involucran múltiples niveles de índice, un MultiIndex es beneficioso. Vamos a crear un MultiIndex a partir de columnas existentes, y luego restablecerlo para agregar los niveles como columnas:


import pandas as pd

data = {'level1': ['A', 'A', 'B', 'B'], 'level2': ['X', 'Y', 'X', 'Y'], 'value': [1, 2, 3, 4]}
df = pd.DataFrame(data)

df = df.set_index(['level1', 'level2']).reset_index()
print(df)

Esto crea y luego convierte un MultiIndex en columnas separadas.

Estas técnicas ofrecen versatilidad en la gestión de índices de DataFrame, permitiendo la integración perfecta de la información del índice como columnas, o viceversa, adaptadas a sus necesidades específicas de análisis de datos.

Deja una respuesta

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