La limpieza de datos es una etapa crucial en el análisis de datos, ya que garantiza que los datos sean precisos, completos y estén en un formato adecuado para el análisis. En esta sección, nos enfocaremos en la identificación y manejo de datos faltantes.
Conceptos Clave
- Datos Faltantes: Datos que no están presentes en el conjunto de datos. Pueden ser valores nulos, vacíos o marcados con un valor especial (como -999).
- Imputación: Proceso de reemplazar datos faltantes con valores estimados.
- Eliminación: Proceso de eliminar filas o columnas que contienen datos faltantes.
Identificación de Datos Faltantes
Métodos Comunes para Identificar Datos Faltantes
- Visualización: Utilizar gráficos para detectar patrones de datos faltantes.
- Resumen Estadístico: Utilizar funciones estadísticas para contar valores nulos.
Ejemplo en Python
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # Cargar un conjunto de datos de ejemplo df = sns.load_dataset('titanic') # Resumen estadístico para identificar datos faltantes print(df.isnull().sum()) # Visualización de datos faltantes sns.heatmap(df.isnull(), cbar=False, cmap='viridis') plt.show()
En este ejemplo, utilizamos el conjunto de datos 'titanic' de Seaborn. El método isnull().sum()
nos proporciona un resumen de la cantidad de valores nulos en cada columna. La visualización con heatmap
nos permite ver gráficamente dónde se encuentran los datos faltantes.
Manejo de Datos Faltantes
Métodos Comunes para Manejar Datos Faltantes
-
Eliminación de Filas/Columnas:
- Eliminar Filas: Si una fila tiene datos faltantes, se elimina toda la fila.
- Eliminar Columnas: Si una columna tiene muchos datos faltantes, se elimina toda la columna.
-
Imputación de Datos:
- Imputación Simple: Reemplazar datos faltantes con la media, mediana o moda.
- Imputación Avanzada: Utilizar métodos más sofisticados como la imputación basada en modelos.
Ejemplo en Python
Eliminación de Filas/Columnas
# Eliminar filas con datos faltantes df_dropped_rows = df.dropna() # Eliminar columnas con datos faltantes df_dropped_columns = df.dropna(axis=1) print("Original DataFrame shape:", df.shape) print("After dropping rows:", df_dropped_rows.shape) print("After dropping columns:", df_dropped_columns.shape)
Imputación Simple
# Imputación con la media df['age'].fillna(df['age'].mean(), inplace=True) # Imputación con la mediana df['age'].fillna(df['age'].median(), inplace=True) # Imputación con la moda df['embarked'].fillna(df['embarked'].mode()[0], inplace=True)
Ejercicio Práctico
Ejercicio: Utiliza el conjunto de datos 'titanic' para identificar y manejar los datos faltantes en las columnas 'age' y 'embarked'. Primero, elimina las filas con datos faltantes y luego realiza la imputación con la mediana para 'age' y la moda para 'embarked'.
Solución:
# Cargar el conjunto de datos df = sns.load_dataset('titanic') # Identificar datos faltantes print(df.isnull().sum()) # Eliminar filas con datos faltantes df_cleaned = df.dropna(subset=['age', 'embarked']) # Imputación con la mediana para 'age' df_cleaned['age'].fillna(df_cleaned['age'].median(), inplace=True) # Imputación con la moda para 'embarked' df_cleaned['embarked'].fillna(df_cleaned['embarked'].mode()[0], inplace=True) # Verificar que no hay datos faltantes print(df_cleaned.isnull().sum())
Conclusión
En esta sección, hemos aprendido a identificar y manejar datos faltantes, utilizando métodos de eliminación e imputación. Estos pasos son esenciales para preparar los datos para el análisis y garantizar la calidad de los resultados. En el próximo módulo, exploraremos técnicas de transformación y normalización de datos para mejorar aún más la calidad y utilidad de nuestros conjuntos de datos.
Curso de Análisis de Datos
Módulo 1: Introducción al Análisis de Datos
- Conceptos Básicos de Análisis de Datos
- Importancia del Análisis de Datos en la Toma de Decisiones
- Herramientas y Software Comúnmente Utilizados
Módulo 2: Recolección y Preparación de Datos
- Fuentes de Datos y Métodos de Recolección
- Limpieza de Datos: Identificación y Manejo de Datos Faltantes
- Transformación y Normalización de Datos
Módulo 3: Exploración de Datos
- Análisis Exploratorio de Datos (EDA)
- Visualización de Datos: Gráficos y Tablas
- Detección de Patrones y Tendencias
Módulo 4: Modelado de Datos
- Introducción a los Modelos Estadísticos
- Regresión Lineal y Logística
- Árboles de Decisión y Bosques Aleatorios
Módulo 5: Evaluación y Validación de Modelos
- Métricas de Evaluación de Modelos
- Validación Cruzada y Técnicas de Validación
- Ajuste y Optimización de Modelos
Módulo 6: Implementación y Comunicación de Resultados
- Implementación de Modelos en Producción
- Comunicación de Resultados a Partes Interesadas
- Documentación y Reportes