Ejercicio 45: Análisis Estadístico y Visualización de Datos con tips
y ventaCasas
Este ejercicio tiene como objetivo que los estudiantes practiquen medidas estadísticas descriptivas y visualización de datos en Python utilizando Pandas, Matplotlib y Seaborn. Se trabajará con los datasets tips
y ventaCasas
, explorando técnicas como boxplots, violin plots, análisis de tendencias y formatos gráficos mejorados.
Objetivos
- Calcular medidas de tendencia central y dispersión.
- Crear gráficos de boxplots y violin plots con personalización avanzada.
- Aplicar transformaciones y análisis en variables derivadas.
- Interpretar patrones y diferencias entre grupos dentro de los datos.
Parte A: Carga y Exploración de Datos
Se trabajará con los siguientes datasets:
- Tips Dataset: Contiene información sobre propinas en restaurantes con variables como
total_bill
,tip
,sex
,day
,time
ysize
(cantidad de comensales). - VentaCasas Dataset: Contiene datos sobre precios de venta de casas y variables relacionadas con las propiedades.
Tareas
- Cargar ambos datasets y visualizar sus primeras filas.
- Verificar valores nulos y realizar un resumen estadístico (
describe()
). - Identificar qué tipo de variables contiene cada dataset y su distribución.
Pregunta de reflexión: ¿Por qué es importante explorar los datos antes de visualizarlos?
Parte B: Cálculo de Medidas Estadísticas
Se calcularán métricas descriptivas para analizar la distribución de los datos.
Tareas
Dataset: Tips
- Calcular media, mediana y moda de
tip
. - Calcular medidas de dispersión: rango, desviación estándar e IQR (percentiles 25, 50 y 75).
- Comparar estas medidas entre diferentes grupos (
sex
,day
).
- Calcular media, mediana y moda de
Dataset: VentaCasas
- Calcular las mismas métricas para
PrecioDeVenta
. - Comparar precios de venta agrupados por alguna variable relevante.
- Calcular las mismas métricas para
Pregunta de reflexión: ¿Cómo se interpretan estas métricas en cada dataset?
Parte C: Análisis de Distribuciones con Boxplots y Violin Plots
Se utilizarán diferentes tipos de gráficos para analizar la dispersión de los datos.
Tareas
Boxplots de Propinas (
tips
)- Crear un boxplot de
tip
porsex
, agregando valores medios (showmeans=True
). - Agregar etiquetas y personalizar los ejes (
set_xlabel()
,set_ylabel()
).
- Crear un boxplot de
Boxplots de Precios de Venta (
ventaCasas
)- Generar un boxplot de
PrecioDeVenta
, aplicando formato de moneda (ticker.StrMethodFormatter
). - Comparar con histogramas para evaluar la distribución.
- Generar un boxplot de
Violin Plots en
tips
- Crear un violin plot de
tip
porsex
, diferenciando con colores personalizados. - Comparar con el boxplot y analizar diferencias en la distribución.
- Crear un violin plot de
Pregunta de reflexión: ¿Cuándo es mejor utilizar un violin plot en lugar de un boxplot?
Parte D: Transformaciones y Análisis de Variables Derivadas
Se explorarán relaciones nuevas creando variables transformadas.
Tareas
Crear una nueva variable en
tips
- Agregar la columna
tip_percentage = tip / total_bill * 100
. - Generar un boxplot de
tip_percentage
porsex
.
- Agregar la columna
Estudio de
tip_percentage
por Día y Sexo- Generar un boxplot de
tip_percentage
porday
, diferenciando porsex
(hue="sex"
).
- Generar un boxplot de
Pregunta de reflexión: ¿Existe una diferencia significativa en la proporción de propinas según el día de la semana o el sexo del cliente?
Parte E: Visualización de Patrones y Tendencias
Se utilizarán gráficos de líneas y histogramas para evaluar patrones en los datos.
Tareas
Histogramas y KDE
- Crear un histograma de
PrecioDeVenta
consns.histplot()
. - Comparar con un gráfico de densidad (
sns.kdeplot()
) para evaluar diferencias.
- Crear un histograma de
Gráfico de Boxplot Mejorado para
PrecioDeVenta
- Aplicar configuraciones avanzadas en Matplotlib para mejorar la presentación.
Pregunta de reflexión: ¿Qué información adicional aportan los gráficos de densidad en comparación con los histogramas?
Entrega esperada
- Código bien estructurado con medidas estadísticas descriptivas.
- Boxplots y violin plots bien interpretados.
- Transformaciones y análisis de variables derivadas.
- Histogramas y gráficos de densidad bien diseñados.
- Reflexiones sobre la utilidad de cada tipo de visualización.
A continuación, se proporciona el código base para comenzar con el ejercicio:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Cargar el dataset de tips
tips = sns.load_dataset('tips')
# TODO: Implementar
# Cargar el dataset de ventaCasas
# venta_casas = pd.read_csv('ruta_al_archivo/ventaCasas.csv')
# TODO: Implementar
Pruebas y ejemplos se deben realizar en celdas separadas para cada parte del ejercicio.