Streamlit desde cero: cómo cargar, explorar y graficar datos desde un archivo CSV
📚 Índice
- Introducción
- Arquitectura Propuesta
- Tecnologías Utilizadas
- Implementación Paso a Paso
- Ejecutar aplicación
- Conclusiones
- Recursos Recomendados
- Sobre la Autora
🧭 Introducción
En este artículo se usará Streamlit desde cero para construir una aplicación interactiva que permita cargar, explorar y visualizar datos desde un archivo CSV de manera local.
El objetivo es que puedas crear rápidamente una app para análisis exploratorio de datos (EDA), utilizando Python y librerías relacionadas a datos.
El repositorio es el siguiente: https://github.com/Mirina-Gonzales/tech-talks-with-miri/tree/main/demo-local-streamlit
🏗️ Arquitectura Propuesta
Esta es la arquitectura que se implementará
✏️ Tecnologías Utilizadas
- Python es un lenguaje de programación de alto nivel, fácil de aprender y muy versátil, utilizado ampliamente en desarrollo web, automatización, ciencia de datos, inteligencia artificial y muchas otras áreas.
- Pandas es una biblioteca de Python diseñada para manipular, limpiar y analizar datos de forma eficiente, ofreciendo estructuras como DataFrames.
- Streamlit es un framework de Python de código abierto que permite a científicos de datos e ingenieros de IA/ML crear aplicaciones interactivas de datos con solo unas pocas líneas de código.
- Github es una plataforma en la nube basada en el sistema de control de versiones git, que se utiliza para alojar, compartir y colaborar en proyectos de software.
👷🏼 Implementación Paso a Paso
📌 Preparar el ambiente en el ordenador:
Crear un ambiente virtual: se recomienda crear un ambiente virtual, ya que ayuda a evitar conflictos de versiones entre proyectos y a mantener un entorno de trabajo limpio.
Instalar librerías: Se puede instalar la librería desde un archivo que se tiene en el repositorio que se llama requirements o instalar cada una de las librerías. Recomiendo la primera opción.
Se usarán las siguientes librerías:
- streamlit
- pandas
- numpy
- matplotlib
- seaborn
- plotly
- scikit-learn
#### Crear un ambiente en el ordenador llamado env-local-streamlit y listar los paquetes instalados.
# Crear ambiente
python -m venv env-local-streamlit
# Activar ambiente
source env-local-streamlit/bin/activate
# Listar librerías antes de instalar
pip list
📌 Instalar los paquetes, usando el archivo requirements.txt
# Instalar paquetes
pip install -r requirements.txt
Listar las librerías luego de instalar los requerimientos

📌 Análisis del código
- Se pueden usar
st.header,st.subheaderyst.writepara mostrar títulos y textos en la aplicación.
st.header("Probar Streamlit de manera local")
st.subheader("3. Presentación de gráficos para análisis exploratorio de datos (EDA)")
st.write("⭐ ¿Cuál es la distribución de los diferentes estados de fumador dentro de los grupos de personas con y sin diabetes?")
- Configuración de la página
st.set_page_config( page_title="Streamlit local", page_icon="📁", layout="wide" )
st.title("💻 Probar Streamlit de manera local")
st.write("""
Esta aplicación demuestra cómo cargar y explorar un conjunto de datos localmente usando Streamlit.
El conjunto de datos utilizado es un conjunto de datos ficticio sobre diabetes.
""")
- Para importar los datos desde un archivo CSV local se utiliza Pandas.
uploaded_file = "data/diabetes_dataset.csv"
df = pd.read_csv(uploaded_file)
st.success(" ✅ Archivo cargado correctamente.")
- Para imprimir un dataframe usamos st.dataframe
st.dataframe(df.head())
st.dataframe(df.describe())
st.write("Filas y columnas:", df.shape)
- Puedes experimentar con diferentes filtros para las visualizaciones en este caso st.slider
visualizacionn = st.slider("Número de filas", 5, 100, 5)
st.dataframe(df.head(n))
- Imprimir un Treemap
fig = px.treemap(
df,
path=["diagnosed_diabetes", "smoking_status"],
title="Treemap jerárquico: Diabetes → Fumador"
)
st.plotly_chart(fig, use_container_width=True)
- Imprimir Pie Chart
st.subheader("Diabéticos")
diab = df[df["diagnosed_diabetes"] == 1]["smoking_status"].value_counts()
fig1, ax1 = plt.subplots(figsize=(5,5))
ax1.pie(diab, labels=diab.index, autopct="%1.1f%%")
ax1.set_title("Fumadores (Diabéticos)")
st.pyplot(fig1)
🏃🏼♀️ Ejecutar aplicación
Para ejecutar la aplicación, primero se debió instalar los paquetes y debes estar dentro de la carpeta en la terminal
streamlit run src/main.py
🧠 Conclusiones
Streamlit es una herramienta que facilita la visualización de datos. En este blog vimos como desplegar una primera aplicación usando streamlit de manera local y tener el primer contacto con streamlit sin preocuparte por servicios en la nube.
⭐ Recursos Recomendados
- Documentación oficial de Streamlit: https://docs.streamlit.io
- Repositorio de ejemplo con una aplicación más compleja desplegada en GCP usando Cloud Run: https://github.com/Mirina-Gonzales/mg-gcp-cloudrun-streamlit
⭐ Sobre la Autora
Mirina Gonzales
Data Engineer | Women Techmakers Ambassador
🔗 LinkedIn: linkedin.com/in/mirina-gonzales-rodriguez/
💻 GitHub: github.com/Mirina-Gonzales
✍️ Blog: dev.to/mirinagonzales | medium.com/@mirina.gonzales









Top comments (0)