Cómo utilizar de manera efectiva la función Get Dummies de Pandas
Published 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!
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.