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.
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
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.
st.dataframe).st.selectbox)
para filtrar bases de datos dinámicamente según los requerimientos del
usuario.st.bar_chart).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.
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")
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.
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.”
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.
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.