python + powerBI
March 25th, 2025

Práctica Guiada

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

Paso 1: Extracción (Extract)

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)}")

Paso 2: Transformación (Transform)

# 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

Paso 3: Carga (Load)

# 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

Paso 4: Visualización (Ejemplo Power BI)

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.

Preguntas de Reflexión

  1. ¿Por qué es crítico estandarizar formatos de fecha/municipio?

  2. ¿Cómo impacta la limpieza de nulos en el cálculo de KPIs?

  3. ¿Qué ventaja tiene usar merge vs concat?

  4. ¿Cuándo preferirías BigQuery sobre CSV para carga?


Datos adicionales para enriquecer el CSV (opcional):

  • 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).


Explicación de campos:

  1. fecha: Formato día/mes/año (ideal para análisis temporales).

  2. evento: Tipo de actividad cultural (categorizable).

  3. asistencia: Número de personas registradas (entero).

  4. municipio: Ubicación geográfica (útil para mapas).

  5. inversion: Costo del evento en MXN (para cálculos de ROI).


Ejemplo de análisis posibles con estos datos:

  • ROI por eventoinversion / 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?

Subscribe to Frexus
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from Frexus

Skeleton

Skeleton

Skeleton