Skip to content

Cómo usar el método set_index de Pandas

El análisis de datos en Python ha sido revolucionado por la librería Pandas, siendo el DataFrame su estructura principal de datos. Una característica clave de los DataFrames es la capacidad de manipular su estructura de índices. Este artículo tiene como objetivo proporcionar una guía completa sobre cómo utilizar el método set_index() de Pandas.

¿Quieres crear rápidamente visualizaciones de datos en Python?

PyGWalker es un proyecto Open Source en Python que puede ayudar a acelerar el flujo de trabajo de análisis y visualización de datos directamente dentro de entornos basados en Jupyter Notebook.

PyGWalker (opens in a new tab) convierte tu DataFrame de Pandas (o DataFrame de Polars) en una interfaz de usuario visual donde puedes arrastrar y soltar variables para crear gráficos con facilidad. Simplemente utiliza el siguiente código:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Puedes ejecutar PyGWalker en este momento con estas libretas en línea:

¡Y no olvides darle una ⭐️ en GitHub!

Ejecutar PyGWalker en Kaggle Notebook (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)Darle una ⭐️ a PyGWalker en GitHub (opens in a new tab)
Ejecutar PyGWalker en Kaggle Notebook (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)

Entendiendo el índice en un DataFrame de Pandas

Un índice en un DataFrame sirve como una etiqueta para las filas. Por defecto, Pandas asigna valores enteros a partir de 0 como etiquetas de fila. Sin embargo, hay escenarios en los que estos índices predeterminados no son suficientes, y puede que necesites establecer una columna específica o una combinación de columnas como índice de tu DataFrame.

Estableciendo el índice usando set_index()

La función set_index() nos permite establecer una columna como índice de un DataFrame. La sintaxis básica es la siguiente:

DataFrame.set_index('Nombre_Columna')

Aquí, 'Nombre_Columna' es la columna que deseas establecer como índice.

Parámetros clave del método set_index()

La función set_index() tiene varios parámetros para proporcionar flexibilidad a los usuarios. Veamos más en profundidad cada uno de ellos.

  • keys: Esto puede ser tanto el nombre de la columna como una Serie de Pandas, un índice o un array de NumPy. Esto será el nuevo índice de tu DataFrame.
  • drop (Valor por defecto: True): Si se establece en True, la columna que estás estableciendo como el nuevo índice se eliminará del DataFrame.
  • append (Valor por defecto: False): Si es True, la columna que estás estableciendo como índice se añadirá al índice existente, creando un índice múltiple.
  • inplace (Valor por defecto: False): Si es True, los cambios ocurren directamente en el DataFrame y la función no devuelve nada. Si es False, se devolverá un nuevo DataFrame con los cambios.
  • verify_integrity (Valor por defecto: False): Comprueba los índices duplicados. Esto es útil cuando deseas asegurarte de que los nuevos valores del índice sean únicos.

Ejemplo práctico de uso de set_index()

Ahora, vamos a entender estos parámetros con algunos ejemplos prácticos. Supongamos que tenemos un DataFrame df como el siguiente:

import pandas as pd
 
data = {
    'Nombre': ['John', 'Anna', 'Peter', 'Linda'],
    'Edad': [28, 24, 32, 45],
    'Ciudad': ['Nueva York', 'Londres', 'Berlín', 'Sídney']
}
 
df = pd.DataFrame(data)

Vamos a establecer 'Nombre' como nuestro índice:

df.set_index('Nombre', inplace=True)

Esto establecerá la columna 'Nombre' como el índice del DataFrame y lo eliminará del DataFrame porque el parámetro drop se establece en True.

Si queremos establecer la columna 'Nombre' como el índice pero también mantenerla en el DataFrame, podemos hacer lo siguiente:

df.reset_index(inplace=True)
df.set_index('Nombre', drop=False, inplace=True)

Para crear un DataFrame con índice múltiple mediante la adición de 'Ciudad' al índice existente 'Nombre', utiliza:

df.set_index(['Nombre', 'Ciudad'], inplace=True)

Nota: Antes de establecer un nuevo índice, es posible que necesites restablecer el índice utilizando df.reset_index(inplace=True) si ya has establecido uno previamente.

Conclusión

En este artículo, hemos aprendido cómo utilizar el método set_index() de Pandas para manipular la estructura de índices del DataFrame según nuestras necesidades. Al comprender sus parámetros clave, podemos realizar de manera efectiva operaciones basadas en el índice y mejorar nuestras capacidades de análisis de datos. Ya seas un principiante o un experto en Pandas, saber cómo usar correctamente set_index() es crucial. ¡Ahora es el momento de utilizar lo que has aprendido en tus proyectos!