Ejercicio 44: Limpieza y Manejo de Datos Faltantes, Duplicados y Variables Categóricas
Este ejercicio tiene como objetivo que los estudiantes practiquen técnicas esenciales de limpieza de datos en Pandas, incluyendo el manejo de valores faltantes, duplicados y variables categóricas. Se trabajará con el dataset “Titanic” (sns.load_dataset(’titanic’)), un conjunto de datos realista que presenta valores nulos, duplicados y variables categóricas que requieren tratamiento especial.
Objetivos
- Identificar y manejar valores faltantes (
NaN
). - Detectar y corregir valores duplicados o inconsistentes.
- Trabajar con variables categóricas y convertirlas en formatos adecuados.
- Identificar valores atípicos y analizarlos.
Parte A: Carga y Exploración del Dataset
El dataset Titanic contiene información sobre pasajeros, con variables como:
survived
: Indica si el pasajero sobrevivió (0 = No, 1 = Sí).pclass
: Clase del boleto (1ª, 2ª o 3ª).sex
: Género del pasajero.age
: Edad del pasajero.sibsp
: Número de hermanos/esposos a bordo.parch
: Número de padres/hijos a bordo.fare
: Tarifa pagada por el boleto.embarked
: Puerto donde abordó el barco (C = Cherbourg
,Q = Queenstown
,S = Southampton
).
Tareas
- Cargar el dataset y mostrar sus primeras filas.
- Identificar cuántos valores faltantes hay en cada columna.
- Analizar el tipo de variables y su utilidad en el análisis.
Pregunta de reflexión: ¿Cómo afecta la presencia de valores faltantes en un análisis de datos?
import seaborn as sns
import pandas as pd
# Cargar el dataset
titanic = sns.load_dataset('titanic')
# Mostrar las primeras filas
print(titanic.head())
# TODO: Implementar
Parte B: Manejo de Valores Faltantes
Se aplicarán distintas estrategias para tratar valores nulos en el dataset.
Tareas
- Contar y visualizar valores faltantes en cada columna.
- Imputación de valores faltantes en
age
. - Imputación de valores faltantes en
embarked
. - Imputación de valores faltantes en
fare
.
Pregunta de reflexión: ¿Cómo elegir la mejor estrategia para imputar valores faltantes?
# TODO: Implementar
Parte C: Detección y Manejo de Duplicados
Se identificarán y manejarán registros duplicados o inconsistentes.
Tareas
- Contar y eliminar filas duplicadas exactas.
- Detectar posibles duplicados basados en nombre y clase (
pclass
). - Normalización de nombres.
Pregunta de reflexión: ¿Cómo se decide si un registro es un duplicado real o un dato válido?
# TODO: Implementar
Parte D: Manejo de Variables Categóricas
Se trabajará con variables categóricas para prepararlas para análisis y modelos.
Tareas
- Convertir
sex
en valores numéricos (0 = Male
,1 = Female
). - Convertir
embarked
en variables dummy (pd.get_dummies
). - Convertir
pclass
a tipo categórico para mejorar la eficiencia.
Pregunta de reflexión: ¿Por qué es importante transformar variables categóricas antes de usarlas en modelos?
# TODO: Implementar
Parte E: Identificación de Valores Atípicos
Se analizarán valores atípicos para evaluar su impacto en el dataset.
Tareas
- Identificar outliers en
fare
usando boxplots. - Aplicar
z-score
oIQR
para detectar valores extremos. - Analizar la relación entre valores atípicos y la supervivencia (
survived
).
Pregunta de reflexión: ¿Cuándo es apropiado eliminar un outlier y cuándo mantenerlo?
# TODO: Implementar
Entrega esperada
- Código limpio con detección y manejo de valores faltantes.
- Eliminación o corrección de datos duplicados e inconsistentes.
- Transformación de variables categóricas.
- Identificación de valores atípicos y análisis de su impacto.
- Reflexiones sobre la importancia de la limpieza de datos.