Ejercicio 15: Análisis de Datos Temporales con Pandas
Este ejercicio tiene como objetivo que los estudiantes trabajen con manipulación de datos temporales en Pandas, visualización de series temporales y transformaciones avanzadas en datos con fechas y tiempos. Se trabajará con un dataset real de registros de recetas en el tiempo para aprender cómo manejar fechas, agrupar datos y visualizar tendencias.
Objetivos
- Manipular datos temporales utilizando Pandas.
- Visualizar series temporales para identificar tendencias.
- Aplicar transformaciones avanzadas en datos con fechas y tiempos.
Entrada de Datos
id
: Identificador único de la receta.name
: Nombre de la receta.ingredients
: Lista de ingredientes como texto.date
: Fecha de publicación de la receta.category
: Categoría de la receta (postres, pastas, carnes, etc.).
Parte A: Carga y Exploración de Datos
Tareas
- Cargar el dataset en un
DataFrame
de Pandas y explorar su contenido. - Convertir la columna
date
a formatodatetime64
para facilitar su manipulación. - Extraer año, mes, día de la semana y día del año en nuevas columnas para análisis posterior.
import pandas as pd
# Cargar el dataset
# TODO: Implementar la carga del dataset
# df = pd.read_csv('ruta_al_dataset.csv')
# Convertir la columna 'date' a formato datetime
# TODO: Implementar la conversión de la columna 'date'
# Extraer año, mes, día de la semana y día del año
# TODO: Implementar la extracción de componentes de fecha
Parte B: Análisis y Agrupación Temporal
Tareas
Agregación por Año y Mes
- Contar la cantidad de recetas publicadas por año y mes.
- Visualizar la cantidad de recetas publicadas a lo largo del tiempo con un gráfico de líneas.
Distribución de Publicaciones por Día de la Semana
- Crear un gráfico de barras que muestre cuántas recetas se publicaron cada día de la semana.
Análisis de Temporadas (Estaciones del Año)
- Identificar patrones estacionales en la publicación de recetas.
- Crear un gráfico que muestre la distribución de publicaciones por estación del año.
Análisis de Ventanas Móviles
- Aplicar una ventana móvil de 30 días para suavizar la tendencia de publicaciones.
- Comparar la serie original con la suavizada en un gráfico de líneas.
import matplotlib.pyplot as plt
import seaborn as sns
# TODO: Implementar las tareas de análisis y visualización
Parte C: Visualización Avanzada de Series Temporales
Tareas
Tendencias Anuales y Mensuales
- Graficar el número de recetas publicadas por año y mes usando Matplotlib o Seaborn.
- Usar
hue
para diferenciar por categoría de receta.
Publicaciones por Día de la Semana
- Crear un gráfico de barras con Seaborn para mostrar qué días de la semana se publican más recetas.
- Comparar si ciertos tipos de recetas tienen patrones específicos de publicación.
Análisis de Temporadas
- Graficar las publicaciones por mes y resaltar las estaciones del año con colores.
- Identificar tendencias de recetas populares en invierno, verano, otoño y primavera.
Resampling y Media Móvil
- Aplicar un
resample('M')
para visualizar la tendencia mensual. - Aplicar
.rolling(30).mean()
para suavizar los datos y comparar con la serie original.
- Aplicar un
# TODO: Implementar las visualizaciones avanzadas
Entrega Esperada
- Código en Python bien estructurado utilizando Pandas, Matplotlib y Seaborn.
- Gráficos claros y correctamente etiquetados.
- Análisis de los resultados con reflexiones sobre las tendencias temporales y estacionales.