Data publicació 18/05/2026
Descripció

Cuando hablamos de IA generativa aplicada a datos, muchas veces nos quedamos en ejemplos aislados: un gráfico, una consulta, un modelo. Pero, en la práctica, el trabajo de un analista es mucho más amplio: recopilar datos, limpiarlos, entenderlos, crear variables métricas y extraer conclusiones útiles.

Hoy en día, la IA y la ciencia de datos pueden optimizar el análisis de datos. En este ejercicio, vamos a mostrar cómo hacerlo a través de un caso real y reproducible: un análisis completo de precios de carburantes en España, apoyado en IA generativa en cada fase del flujo de trabajo.

En este ejercicio educativo que es reproducible en Google Colab analizamos más de 11.000 gasolineras españolas usando datos públicos del Ministerio para la Transición Ecológica y Reto Demográfico para responder preguntas de negocio del tipo:

  • ¿Qué provincia tiene carburantes más caros?
  • ¿La ubicación geográfica afecta el precio?
  • ¿Hay diferencias significativas entre marcas?
  • ¿Podemos predecir precios futuros de carburante?

Cada paso explica cómo GenAI aceleró el análisis, documentando problemas reales encontrados y proponiendo soluciones reutilizables.

Accede al repositorio del laboratorio de datos en GitHub

Accede al notebook de GoogleColab

Haz clic en el badge "Open In Colab" de arriba. El notebook se ejecuta directamente en el navegador sin necesidad de instalar nada.

Tiempo total: ~4 minutos

Local (Python 3.9+)

git clone <repo-url>
cd ejercicio-datos-ia-copiloto
pip install -r requirements.txt
jupyter notebook notebook/Analisis_Carburantes_v0_1.ipynb

Estructura

ejercicio-datos-ia-copiloto/
├── notebook/
│ └── Analisis_Carburantes_v0_1.ipynb # 19 celdas, 100% ejecutable
│
├── prompts/ # Problemas reales + soluciones
│ ├── ingesta/
│ │ ├── descargar_dataset.md # API robustas con fallbacks
│ │ └── explorar_estructura.md
│ ├── limpieza/
│ │ ├── validar_precios.md
│ │ └── normalizar_marcas.md
│ ├── visualizacion/
│ │ ├── precio_por_provincia.md # Scatter mapbox interactivo
│ │ ├── distribucion_por_marca.md # Box plot top 10 marcas
│ │ ├── ubicacion_vs_precio.md # Scatter mapbox 11k estaciones
│ │ ├── analisis_impacto_features.md # Correlación + tendencias
│ │ └── mejoras_visualizaciones_interactivas.md
│ └── features/
│ ├── crear_fin_semana.md
│ ├── distancia_punto_referencia.md
│ └── region_geografica.md
│
├── posts/
│ └── Reflexion_GenAI_Analisis_Carburantes.md # Reflexión sobre el proceso
│
├── specs/ # Documentación técnica
│ └── 001-carburantes-ia/
│ ├── spec.md # Especificación funcional
│ ├── plan.md # Plan técnico + lecciones aprendidas
│ └── checklists/
│
├── tests/ # Scripts de validación
│ ├── test_descarga_local.py
│ └── test_notebook_completo.py
│
├── requirements.txt # pandas, matplotlib, scikit-learn
├── LICENSE # MIT
└── README.md # Este archivo

 

Fases del análisis

FASE 0: Preparación

  • Setup del entorno, imports y metadatos
  • Versión del notebook y contador de iteraciones

FASE 1: Ingesta robusta (T009-T010)

FASE 2: Limpieza y validación (T014-T017)

  • Validación de precios (rango realista)
  • Normalización de marcas (variantes sin normalizar)
  • Filtrado de coordenadas (bounding box de España)
  • Detección de valores nulos

FASE 3: Análisis exploratorio de datos (T020-T023)

4 visualizaciones con respuestas a preguntas de negocio:

  1. Bar chart: precio promedio por provincia (top 12)
  2. Scatter map: ubicación vs precio (península ● / islas ▲)
  3. Histograma: distribución de precios (media + mediana)
  4. Bar chart: top 8 marcas (normalizado, con conteos)

FASE 4: Ingeniería de variables (T028-T030)

  • es_fin_semana: Binario (0=semana, 1=fin de semana)
  • distancia_a_madrid: Aproximación a hub económico
  • region: Norte/Centro/Sur (basado en latitud)

FASE 5: Análisis de impacto de features (T034-T037)

3 visualizaciones adicionales que muestran el impacto de cada feature:

  1. Scatter plot: precio vs distancia a Madrid (correlación geográfica)
  2. Bar chart comparativo: precio fin de semana vs entre semana (impacto temporal)
  3. Box plot regional: distribución de precios por región norte/centro/sur

Lecciones Técnicas Documentadas

Cada problema real encuentra solución documentada:

#

Problema

Solución

Reutilizable

1 SSL/IP bloqueo en API Triple fallback (requests→curl→demo) API españolas públicas
2 Coordenadas fuera de España Bounding box [lat:27.5-43.8, lon:-18.2-4.4] Análisis geográfico
3 Variantes marca sin normalizar .str.upper().str.strip() antes de agrupar Cualquier agregación
4 Cifras similares no visuales ax.set_xlim(min*0.95, max*1.05) Rangos estrechos
5 ValueError: y contains NaN Validar antes de train_test_split ML pipelines

Figura 1. Tabla resumen de las soluciones planteadas para cada problema en el desarrollo del ejercicio. Fuente: elaboración propia – datos.gob.es

Cada solución está documentada en prompts/ con:

  • Prompt original: Qué pedimos a GenAI
  • Resultado obtenido: Código que funcionó
  • Reflexión: Qué aprendimos + patrón reutilizable

Conclusión

Lo interesante de este ejercicio no ha sido tanto el resultado final del análisis, sino el camino hasta llegar a él. Trabajar con datos reales casi nunca es un proceso evidente y lineal. En este caso, el proceso ha estado lleno de pequeñas fricciones que también definen el trabajo real de cualquier analista de datos.

Desde el principio aparecen diversos problemas: API que no siempre responden de forma estable, bloqueos puntuales al intentar descargar información, o la necesidad de diseñar mecanismos de fallback para no depender de una única fuente de datos.

En todos estos puntos, la GenAI ha ayudado a proponer enfoques y generar alternativas, pero siempre dentro de un proceso de validación constante por parte del analista.

En resumen, lo más relevante que podemos extraer de la realización de este ejercicio es la idea de que el valor está en cómo se superan los obstáculos del proceso, no en evitarlos.

Todo el ejercicio completo, incluyendo el notebook ejecutable en Colab, el código y los prompts utilizados en cada fase, está disponible en GitHub para poder reproducirlo paso a paso.

Contenido elaborado por Alejandro Alija, experto en Transformación Digital e Innovación. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor