Clase 3: Visualización de datos y reportes reproducibles

Eje I: Procesamiento y visualización de datos en Python

Objetivo

Profundizar en los principios de visualización de datos y aprender a producir reportes reproducibles que comuniquen resultados de manera clara y profesional.

Contenidos

  • Cómo elegir la visualización adecuada para cada tipo de análisis y audiencia.
  • Visualización con seaborn (y el mínimo necesario de matplotlib): sintaxis, principales tipos de gráficos.
  • El mapeo de atributos de los datos a atributos gráficos como principio organizador.
  • Gráficos compuestos, facetas y personalización (colores, etiquetas, escalas).
  • Reportes reproducibles con Jupyter Notebook y exportación a HTML/PDF.
  • Principios de visualización para storytelling con datos.
NotaEl encargo de RRHH

Esta clase tiene un marco de rol: ustedes son el equipo de ciencia de datos de Nimbus, y Recursos Humanos les pide un informe para decidir si extiende el piloto de fruta a todas las sedes. La notebook que se construye durante la clase es ese informe: texto, código, figuras y una conclusión que cualquiera puede volver a correr.

Cada figura del camino se somete a la misma pregunta, tomada del libro de Wilke: ¿es fea (problema estético), mala (problema de percepción) o incorrecta (problema matemático)?

Notebooks

La notebook es la clase: la recorremos juntos en Colab de principio a fin. Hay dos consignas cortas para resolver en el momento y varios quizzes de opción múltiple que se corrigen solos, más un ejercicio de cierre sobre el dataset de rotación de personal que acompaña al resto de la materia.

A diferencia de las clases anteriores, no hay que subir nada a Drive: los datos se leen por URL directamente desde este sitio.

Lenguaje Leer en el sitio Ejecutar en Colab Descargar
Python (principal) Notebook renderizada Open in Colab .ipynb
R (par validado) Notebook renderizada Open in Colab .ipynb
Tip

Las dos notebooks cubren el mismo recorrido con las mismas figuras y conclusiones, idiomático en cada lenguaje: seaborn/matplotlib en Python, ggplot2 en R. Usá la que prefieras; la de Python es la que se recorre en clase.

Los datos

Archivo Contenido URL
nimbus_empleados.csv 600 empleados: sede, área, género, educación, antigüedad, grupo /data/toy-nimbus/nimbus_empleados.csv
nimbus_salario.csv salario mensual y edad, 2023-2025 /data/toy-nimbus/nimbus_salario.csv
nimbus_bienestar_diario.csv 24.000 autorreportes de bienestar (1-7) durante el piloto /data/toy-nimbus/nimbus_bienestar_diario.csv

El ejercicio de cierre usa HR Employee Attrition (IBM), que se lee directamente del repositorio oficial de IBM; la notebook trae la URL.

La práctica de hoy

En la segunda parte de la clase salimos de Nimbus. Cada grupo elige un dataset de la lista de abajo, lo explora, y produce una sola figura con el mismo criterio que usamos toda la clase. El dataset que elijan hoy los va a acompañar varias semanas: no es un ejercicio suelto.

ImportanteLa consigna de hoy

1. Elijan un dataset de los ocho de abajo. Uno por grupo, y es el que los va a acompañar de acá en adelante.

2. Háganle una exploración mínima antes de graficar nada. No hace falta un análisis exhaustivo: alcanza con lo suficiente para saber qué tienen entre manos, con las herramientas de la Clase 2.

  • Carguen el archivo y miren las primeras filas.
  • Qué es una fila: ¿una persona, un viaje, un alojamiento, una canción, una respuesta? Si esto no queda claro, todo lo demás sale torcido.
  • De qué tipo es cada columna que les interese: continua, discreta, categórica ordenada o sin orden. Es el paso 2 del andamiaje de hoy, y decide qué gráficos son posibles.
  • Un vistazo a los valores: qué categorías hay y con qué frecuencia, en qué rango se mueven las numéricas, y si falta mucho dato en las columnas que van a usar.

3. De esa exploración salga UNA pregunta, que se pueda contestar con dos o tres de esas columnas. Una pregunta, no un tema: no “el precio de los Airbnb” sino “¿los alojamientos enteros cuestan más que los cuartos privados, y en qué barrios se nota más?”. La pregunta tiene que salir de lo que vieron en el paso 2, no de lo que imaginaban antes de abrir el archivo.

4. Hagan UNA sola figura que la conteste. Una, no cinco: hoy el ejercicio es elegir, no producir. Sobre esa única figura:

  • elijan el gráfico por el objetivo, no por costumbre: ¿están mostrando una cantidad, una distribución, una proporción, una relación x-y? El directorio del capítulo 5 de Wilke y from Data to Viz están para eso;
  • escriban el mapeo explícito: qué variable va a cada atributo gráfico. Si dos variables pelean por el mismo canal, decidan cuál gana y por qué;
  • audítenla con la tríada de la clase: ¿es fea (estética), mala (percepción) o incorrecta (matemática)? Arreglen lo que encuentren. Casi siempre aparece algo en la primera versión;
  • ciérrenla con las palabras: título que dice la conclusión, ejes etiquetados en castellano y con unidades, y la fuente del dato al pie.

No hay que entregar nada. El resultado del trabajo de hoy es la figura: una sola, sostenida por la exploración del paso 2 y hecha con los principios que vimos en la clase. Si les queda tiempo, guárdenla como archivo (plt.savefig(...) o ggsave(...)), que es la forma en que una figura sale de la pantalla y entra en un informe.

Al final de la clase vamos a mirar algunas juntos. Lo interesante no suele ser la versión final sino el camino: si descartaron una primera versión, tráiganla, porque la comparación entre las dos enseña más que el resultado.

NotaCómo sigue la próxima semana

El dataset que elijan hoy no se abandona al final de la clase. Las consignas de las próximas clases se van a encadenar sobre el mismo dataset, así que conviene elegir con cuidado y no por descarte: miren que tenga filas suficientes, varias columnas de tipos distintos, y algo que a ustedes les resulte interesante de preguntar.

En la Clase 4 (29/08) entramos en aprendizaje supervisado, y sobre ese mismo dataset la pregunta cambia de forma: de “¿qué se ve acá?” a “¿qué se puede predecir, y con qué error?”.

Ese encadenamiento también explica por qué hoy alcanza con una sola figura: lo que se lleva al resto del curso es haber entendido el dataset y haber tomado con criterio las decisiones de esa figura, no haber producido muchos gráficos.

Los ocho datasets

Ninguno de estos archivos los aloja la materia: cada enlace va a la fuente original, que es donde hay que mirar la licencia y la documentación de las variables.

# Dataset Qué trae Fuente
1 Airbnb Buenos Aires Alojamientos publicados en la ciudad: barrio, tipo de alojamiento, precio, reseñas, disponibilidad. Buscá la sección Buenos Aires y bajá listings.csv. Inside Airbnb
2 choices13k Unos 13.000 problemas de elección riesgosa con las decisiones humanas agregadas. Peterson, Bourgin y cols. GitHub
3 Riesgo Vial CABA Estudio observacional de factores de riesgo vial en la Ciudad (uso de casco, cinturón, celular al volante). BA Data
4 Latinobarómetro 2024 Encuesta de opinión pública comparada en países de América Latina. Requiere registro para bajar los datos. Latinobarómetro
5 OkCupid Perfiles de una plataforma de citas: edad, orientación, ingresos, educación y texto libre. Kim y Escobedo-Land. Kaggle
6 Speed Dating Experiment Citas rápidas: qué atributos dice valorar cada persona y a quién termina eligiendo. Fisman e Iyengar. Kaggle
7 Spotify Tracks Canciones con sus descriptores de audio (bailabilidad, energía, valencia, tempo) y su género. Kaggle
8 EcoBici 2025 Viajes del sistema de bicicletas públicas de la Ciudad: estación de origen y destino, duración, fecha y hora. BA Data
TipAntes de elegir

Los tres de Kaggle (5, 6 y 7) piden cuenta gratuita para descargar, y el Latinobarómetro (4) pide completar un formulario. Si no querés perder tiempo con eso en clase, arrancá por Airbnb, choices13k, Riesgo Vial o EcoBici, que se bajan directo.

Un dataset grande no hace mejor a la figura. EcoBici y Spotify tienen cientos de miles de filas: casi siempre conviene agrupar antes de graficar, o quedarse con un recorte (un mes, un género, una comuna) y decirlo en el título.

Lecturas

Obligatoria:

  • Wilke, C. O. (2019). Fundamentals of Data Visualization (caps. 1 a 7 y 9, más tramos de 19, 21, 22, 26 y 29). O’Reilly Media. Disponible completo en https://clauswilke.com/dataviz/. Los capítulos 1 y 2 dan el marco conceptual de la clase (la tríada y el mapeo); el 5 es el directorio de visualizaciones para consultar toda la materia. La notebook trae la tabla que enlaza cada sección con su capítulo.

Complementaria:

  • Wilke, C. O. (2019). Capítulo 29, Telling a story and making a point: https://clauswilke.com/dataviz/telling-a-story.html. El cierre de la clase sale de acá.
  • Knaflic, C. N. (2015). Storytelling with Data. John Wiley & Sons. Para profundizar en comunicación con datos.

Recursos de consulta: