Skip to content

Cómo utilizar de manera efectiva la función Get Dummies de Pandas

Updated on

La biblioteca Pandas de Python tiene muchas funciones sólidas y versátiles para la manipulación de datos, y la función get_dummies es una de ellas. Este tutorial tiene como objetivo ayudarte a comprender y utilizar de manera efectiva esta función en tus tareas de preprocesamiento de datos.

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

PyGWalker es un proyecto de Python de código abierto que puede ayudar a acelerar el flujo de trabajo de análisis y visualización de datos directamente dentro de un entorno basado en notebooks de Jupyter.

PyGWalker (opens in a new tab) convierte tu DataFrame de Pandas (o DataFrame de Polars) en una interfaz visual en la que 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 ahora mismo con estos notebooks 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)

Comprendiendo Get Dummies de Pandas

La función get_dummies de Pandas es una herramienta poderosa cuando se trata de datos categóricos. Convierte variable(s) categórica(s) en variables ficticias/indicadoras, creando nuevas columnas para cada categoría única en una variable categórica, con unos (1) y ceros (0) que indican la presencia o ausencia de la categoría en la fila original.

¿Por qué es esto importante? Los algoritmos de aprendizaje automático suelen trabajar con datos numéricos. Por lo tanto, a menudo es necesario transformar datos categóricos en un formato numérico, y ahí es donde entra en juego get_dummies.

import pandas as pd
 
# Ejemplo de datos
data = pd.DataFrame({'mascotas': ['gato', 'perro', 'pájaro', 'gato']})
 
# Aplicando get_dummies
dummies_data = pd.get_dummies(data)
 
print(dummies_data)

Esto producirá la siguiente salida:

   mascotas_gato  mascotas_perro  mascotas_pájaro
0              0               1                0
1              0               0                1
2              1               0                0
3              0               1                0

La anatomía de la función Get Dummies

La función get_dummies tiene varios parámetros que permiten un control detallado sobre su funcionamiento. A continuación se muestra una breve descripción de estos parámetros:

  • data: El DataFrame o Series de entrada del que generar variables ficticias.
  • prefix: Prefijo opcional de cadena para los nombres de columna de las variables ficticias.
  • prefix_sep: Separador opcional de cadena a utilizar entre el prefijo y el nombre de la columna. El valor predeterminado es "_".
  • dummy_na: Booleano para agregar una columna que indique los valores NaN, si es falso, se ignoran los NaN. El valor predeterminado es False.
  • columns: Lista opcional de nombres de columna para convertir en variables ficticias. Si no se especifica, se convierten todas las columnas de tipo objeto y categoría.
  • sparse: Booleano para devolver SparseDataFrame si es True, de lo contrario devuelve un DataFrame regular. El valor predeterminado es False.
  • drop_first: Booleano para obtener k-1 variables ficticias de k niveles categóricos al eliminar el primer nivel. Esto evita la multicolinealidad. El valor predeterminado es False.

Ejemplos prácticos de Get Dummies de Pandas

Vamos a profundizar en ejemplos prácticos de uso de la función get_dummies.

1. Utilizando el parámetro prefix

Puedes utilizar el parámetro prefix para agregar un prefijo específico a los nombres de columna de las nuevas variables ficticias. Esto puede ser útil para identificar la fuente de estas columnas más adelante.

# Aplicar get_dummies con prefijo
dummies_data_prefix = pd.get_dummies(data, prefix='mascotas')
 
print(dummies_data_prefix)

2. Tratando con valores NaN

Cuando trabajas con datos del mundo real, es posible que te encuentres con valores faltantes. Utilizando el parámetro dummy_na, puedes crear una columna ficticia separada para los valores NaN.

# Ejemplo de datos con NaN
data = pd.DataFrame({'mascotas': ['gato', 'perro', 'pájaro', None]})
 
# Aplicar get_dummies con dummy_na
dummies_data_nan = pd.get_dummies(data, dummy_na=True)
 
print(dummies_data_nan)

3. Trabajando con múltiples columnas

La función get_dummies se puede aplicar a múltiples columnas a la vez. En el siguiente ejemplo, creamos variables ficticias para dos columnas categóricas: 'mascotas' y 'color'.

# Ejemplo de datos con múltiples columnas
data = pd.DataFrame({'mascotas': ['gato', 'perro', 'pájaro', 'gato'], 'color': ['negro', 'blanco', 'negro', 'blanco']})
 
# Aplicar get_dummies a múltiples columnas
dummies_data_multi = pd.get_dummies(data, columns=['mascotas', 'color'])
 
print(dummies_data_multi)

Conclusión

Al finalizar, dominar la función pd.get_dummies() puede mejorar tus capacidades de preprocesamiento de datos para proyectos de aprendizaje automático. Es una herramienta indispensable para manejar datos categóricos, asegurándose de que estén en el formato correcto para tus algoritmos.