enacimie commited on
Commit
dd0ff4c
verified
1 Parent(s): b1079b6

Create app.py

Browse files
Files changed (1) hide show
  1. src/app.py +66 -0
src/app.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # app.py
2
+
3
+ import streamlit as st
4
+ import pandas as pd
5
+ import plotly.express as px
6
+ from data_loader import simulate_transport_data
7
+
8
+ # Configuraci贸n de la p谩gina
9
+ st.set_page_config(page_title="Dashboard Transporte", layout="wide")
10
+
11
+ # T铆tulo de la aplicaci贸n
12
+ st.title("馃搳 Monitoreo de Flota de Transporte Urbano")
13
+
14
+ # Cargar datos simulados
15
+ df = simulate_transport_data()
16
+
17
+ # Filtro por autob煤s
18
+ bus = st.selectbox(
19
+ "Selecciona un autob煤s",
20
+ options=df['bus_id'].unique()
21
+ )
22
+ filtered_df = df[df['bus_id'] == bus]
23
+
24
+ # Secci贸n de KPIs resumen
25
+ st.subheader(f"Resumen - {bus}")
26
+ col1, col2, col3 = st.columns(3)
27
+
28
+ with col1:
29
+ st.metric(
30
+ "Puntualidad Prom.",
31
+ f"{filtered_df['punctuality'].mean():.2f} %"
32
+ )
33
+
34
+ with col2:
35
+ st.metric(
36
+ "Ocupaci贸n Prom.",
37
+ f"{filtered_df['occupancy'].mean():.2f} %"
38
+ )
39
+
40
+ with col3:
41
+ st.metric(
42
+ "Consumo Medio",
43
+ f"{filtered_df['fuel_eff'].mean():.2f} L/100km"
44
+ )
45
+
46
+ # Gr谩fico de evoluci贸n diaria
47
+ st.subheader("馃搱 Evoluci贸n Diaria")
48
+ fig = px.line(
49
+ filtered_df,
50
+ x="date",
51
+ y=["punctuality", "occupancy", "fuel_eff"],
52
+ labels={"value": "Valor", "variable": "M茅trica"},
53
+ title="Indicadores diarios"
54
+ )
55
+ st.plotly_chart(fig, use_container_width=True)
56
+
57
+ # Gr谩fico de kil贸metros recorridos
58
+ st.subheader("馃殫 Kilometraje Recorrido")
59
+ fig2 = px.bar(
60
+ filtered_df,
61
+ x="date",
62
+ y="km",
63
+ color="km",
64
+ title="KM recorridos por d铆a"
65
+ )
66
+ st.plotly_chart(fig2, use_container_width=True)