Objetivo: Transformar datos de eventos culturales desde archivos CSV/Excel hasta dashboards interactivos.
Requisitos Previos Python 3.8
Bibliotecas: pandas, numpy, sqlalchemy
Apps: Power BI Desktop o Cuenta en Looker Studio
Dataset de ejemplo: Guarde el data set en un fichero con el nombre eventos_culturales.csv, debe de contener las siguientes columnas: fecha, evento, asistencia, municipio, inversion. pulsa aquí para ver un ejemplo de como se llenaría el csv
import pandas as pd
# Cargar datos desde múltiples fuentes
df_eventos = pd.read_csv('eventos_culturales.csv') # Desde CSV
df_presupuestos = pd.read_excel('presupuestos.xlsx') # Desde Excel
# Validar estructura inicial
print(df_eventos.head())
print(f"Registros cargados: {len(df_eventos)}")
# 1. Limpieza: Eliminar duplicados y nulos
df_eventos.drop_duplicates(inplace=True)
df_eventos.dropna(subset=['asistencia', 'municipio'], inplace=True)
# 2. Normalización: Formato de fechas y categorías
df_eventos['fecha'] = pd.to_datetime(df_eventos['fecha'], format='%d/%m/%Y')
df_eventos['municipio'] = df_eventos['municipio'].str.upper()
# 3. Enriquecimiento: Crear KPIs
df_eventos['costo_por_asistente'] = df_eventos['inversion'] / df_eventos['asistencia']
# 4. Consolidación: Merge con presupuestos
df_final = pd.merge(df_eventos, df_presupuestos, on='evento', how='left')2. Normalización: Formato de fechas y categorías
# Exportar a CSV/Excel
df_final.to_csv('eventos_procesados.csv', index=False)
# Luego en Power BI:
# 1. Click en "Obtener datos" > CSV/Excel
# 2. Cargar archivo generado
# 3. Crear relaciones y medidas
Mapa de calor: Arrastra municipio a mapa + asistencia como tamaño de burbuja.
Serie temporal: Gráfico de línea con fecha vs costo_por_asistente.
Tabla resumen: evento, asistencia, inversión + filtros interactivos.
¿Por qué es crítico estandarizar formatos de fecha/municipio?
¿Cómo impacta la limpieza de nulos en el cálculo de KPIs?
¿Qué ventaja tiene usar merge
vs concat
?
¿Cuándo preferirías BigQuery sobre CSV para carga?
Columna categoria
: ("Música", "Artes plásticas", "Teatro").
Columna organizador
: Nombre de la dependencia a cargo.
Columna rating
: Satisfacción del público (1-5).
fecha
: Formato día/mes/año (ideal para análisis temporales).
evento
: Tipo de actividad cultural (categorizable).
asistencia
: Número de personas registradas (entero).
municipio
: Ubicación geográfica (útil para mapas).
inversion
: Costo del evento en MXN (para cálculos de ROI).
ROI por evento: inversion / asistencia
→ ¿El taller infantil costó 228porpersonavs.228porpersonavs.40 del jazz?
Tendencia temporal: ¿Eventos en diciembre atraen más asistencia?
Distribución geográfica: ¿El 60% de los eventos son en Guadalajara?