Panel interactivo en Streamlit para explorar los Juegos Olimpicos 2024 y el historico de medallas. Usa Polars para consultas rapidas sobre CSV y Plotly para visualizaciones.
- Overview 2024: selector de pais, resumen de atletas, medallas totales, barras apiladas y mapa coropletico global.
- Athletes: filtros por pais, disciplina y genero; distribucion de edades y alturas; tabla de medallistas y desglose de medallas por genero; eventos y etapas por disciplina.
- Historical: medalleros historicos (Summer y Winter), comparacion por pais y por anio.
dashboard_1.mp4
- Python 3.13+
- Streamlit 1.51.0
- Polars 1.35.2
- Plotly 6.5.0
- App: src/main.py
- Componentes: src/components (
overview,athletes,historical,selectors) - Carga de datos: src/config/loaders.py
- Utilidades: src/utils (
data_utils.py,graphics.py) - Estilos e iconos: src/Design y tema de Streamlit src/.streamlit/config.toml
- Datos CSV: src/data (Source, Processed, Historical, Map json)
- Crear y activar entorno virtual
python -m venv .venv
source .venv/bin/activate- Instalar dependencias
pip install streamlit==1.51.0 polars==1.35.2 plotly==6.5.0Desde la raiz del proyecto:
streamlit run src/main.pyEl dashboard aplica caches de Streamlit para cargas mas rapidas (st.cache_data y st.cache_resource).
Coloca los CSV y recursos en src/data y src/Design siguiendo los nombres usados en src/config/loaders.py, por ejemplo:
- data/Source:
medals_total.csv,Countries with Flags URL.csv,country_codes.csv,medals.csv,athletes.csv,medalists.csv,results/{disciplina}.csv - data/Processed:
2024_participants.csv,historical_participants.csv,def_coordinates.json - data/Historical:
Olympics_Country.csv,Olympic_Games_Medal_Tally.csv - Design/Icons:
Games Icon.csv
- El archivo src/.streamlit/config.toml define el tema base.
- Las rutas de datos son relativas a la carpeta
src/; mantenga la estructura para que losscan_csvfuncionen.