Es un hito emocionante llegar a este punto. La Semana 11 representa la convergencia de todo lo aprendido: la lógica algorítmica, el manejo de datos masivos y el despliegue web. Construir “Dashboards” o Tableros de Control es una de las habilidades más demandadas en la industria actual para cualquier rama de la ingeniería.

A continuación, se presenta la estructura de la guía integrando el código y manteniendo el enfoque para Civil y Agroindustrial.


Guía Semanal 11: Visualización Estadística Interactiva (Dashboards)

Asignatura: Programación de Computadores / Fundamentos de Programación Temática Principal: Integración de Pandas y Streamlit para la creación de Tableros de Control

1. Introducción y Propósito

En las semanas anteriores aprendimos a crear interfaces web (Streamlit) y a manipular bases de datos (Pandas) por separado. El propósito de esta semana es fusionar ambos superpoderes. En la ingeniería moderna, un profesional no solo calcula y analiza datos en secreto; debe saber comunicarlos. Aprenderemos a construir un Dashboard interactivo, una aplicación web donde el usuario final pueda explorar tablas de ensayos, aplicar filtros y ver cómo las gráficas se actualizan en tiempo real.

2. Resultados de Aprendizaje

  • Integrar la librería Pandas dentro de un entorno web de Streamlit.
  • Desplegar tablas completas y resúmenes estadísticos en una interfaz de usuario (st.dataframe).
  • Implementar componentes interactivos (st.selectbox) para filtrar bases de datos dinámicamente según los requerimientos del usuario.
  • Generar gráficos estadísticos reactivos integrados en la aplicación web (st.bar_chart).

3. Hoja de Ruta de la Sesión

Parte A: La Estructura del Tablero de Control

Se debe explicar a los estudiantes que el script ahora importará ambas librerías (import streamlit as st e import pandas as pd). En lugar de mostrar los datos en la “consola negra”, utilizaremos st.dataframe() para renderizar una tabla profesional y explorable directamente en la web.

Parte B: El Código del Dashboard (Práctica en VSCode/Colab)

Los estudiantes deberán transcribir y analizar el siguiente código, el cual simula una base de datos de control de calidad para materiales (aplicable a concreto para Civil y madera/suelos para Agroindustrial/Agrícola):

import streamlit as st
import pandas as pd

# 1. Configuración de la página
st.set_page_config(page_title="Dashboard de Ingeniería", layout="wide")
st.title("📊 Tablero de Control de Laboratorio")
st.write("Análisis interactivo de ensayos de resistencia y humedad.")

# 2. Creación de la base de datos
datos = {
    "Muestra": ["M1", "M2", "M3", "M4", "M5", "M6"],
    "Material": ["Concreto", "Madera", "Suelo", "Concreto", "Madera", "Suelo"],
    "Resistencia_MPa": [25.4, 12.5, 0.0, 28.1, 14.2, 0.0],
    "Humedad_Porcentaje": [5.2, 15.0, 35.5, 4.8, 12.3, 42.1]
}
df = pd.DataFrame(datos)

# 3. Mostrar la tabla general
st.subheader("Base de Datos Completa")
st.dataframe(df, use_container_width=True)

# 4. El motor interactivo: Filtro por material
st.divider()
st.subheader("🔍 Filtro Dinámico")

# Extraemos los materiales únicos para el menú desplegable
lista_materiales = df["Material"].unique()
material_seleccionado = st.selectbox("Seleccione el material a analizar:", lista_materiales)

# Filtramos la tabla usando la selección del usuario
df_filtrado = df[df["Material"] == material_seleccionado]

st.write("Datos correspondientes a:", material_seleccionado)
st.dataframe(df_filtrado)

# 5. Gráfico reactivo
st.subheader(f"📈 Gráfico de Humedad para {material_seleccionado}")
st.bar_chart(data=df_filtrado, x="Muestra", y="Humedad_Porcentaje")

Parte C: El Túnel de Ejecución

Al igual que en semanas anteriores, si trabajan en Colab, deberán usar el comando mágico %%writefile app_datos.py al inicio del código y luego ejecutar localtunnel para interactuar con la aplicación. Si ya están usando su entorno local de VSCode (Semana 7), simplemente deberán ejecutar streamlit run app_datos.py en la terminal.

4. Actividades de Aprendizaje Guiado

Interacción con el Tutor IA

Para interiorizar la lógica detrás de los filtros, los estudiantes deben utilizar su asistente de IA con la siguiente instrucción: > “Actúa como un Científico de Datos Senior. He construido mi primer Dashboard interactivo usando Streamlit y Pandas. 1) Explícame por qué los Dashboards son una herramienta fundamental en la toma de decisiones en ingeniería. 2) En el código usamos st.dataframe(). ¿Cuál es la diferencia técnica y visual entre usar st.dataframe() y st.table() en Streamlit? 3) Explícame detalladamente cómo funciona la lógica lógica detrás de la línea que filtra los datos: df_filtrado = df[df[\"Material\"] == material_seleccionado]. 4) Menciona 2 tipos de”widgets” (controles) adicionales de Streamlit que serían útiles para filtrar datos numéricos de laboratorio. Después hazme 3 preguntas para verificar mi comprensión.”

Reto de Diseño de la Especialidad (Bocetado)

En el reverso de su hoja, el estudiante no escribirá código, sino que actuará como un Arquitecto de Software: * Ruta Civil: Diseñar en papel la interfaz de un Dashboard para un reporte topográfico o de cimentaciones. * Ruta Agroindustrial: Diseñar la interfaz de un Dashboard para el monitoreo de temperatura y humedad de un lote de secadores solares. * En ambos casos, deben dibujar y señalar dónde iría la tabla principal, qué variable controlaría el menú desplegable (ej. “Tipo de Suelo” o “Mes del año”) y qué mostraría la gráfica.

5. Resumen Cognitivo (Para escritura a mano)

El esquema final para afianzar el conocimiento debe incluir: 1. Definición: Qué es un Dashboard interactivo y qué problema resuelve para un cliente o jefe de proyecto. 2. Integración Técnica: Explicación de cómo Pandas aporta la inteligencia de datos y Streamlit la interfaz visual. 3. Sintaxis de Filtrado: Escribir y explicar con sus propias palabras la línea de código que logra la magia de filtrar la base de datos usando la variable capturada por st.selectbox(). 4. Reflexión: “El verdadero valor de los datos se libera cuando cualquier usuario puede explorarlos fácilmente a través de una interfaz interactiva”.


Con esto, el ciclo de tronco común queda perfectamente cerrado y coronado con una aplicación de nivel profesional. Para la Semana 12, el camino se bifurca formalmente.