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

Create data_loader.py

Browse files
Files changed (1) hide show
  1. src/data_loader.py +44 -0
src/data_loader.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # data_loader.py
2
+
3
+ import pandas as pd
4
+ import numpy as np
5
+
6
+ def simulate_transport_data():
7
+ """
8
+ Simula datos de transporte urbano para varios autobuses durante una semana.
9
+
10
+ Returns:
11
+ pd.DataFrame: DataFrame con datos simulados.
12
+ """
13
+ # Definir identificadores de autobuses
14
+ buses = ['Bus_01', 'Bus_02', 'Bus_03', 'Bus_04']
15
+
16
+ # Generar rango de fechas para una semana (7 d铆as)
17
+ days = pd.date_range(start="2025-04-01", periods=7, freq='D')
18
+
19
+ # Lista para almacenar los datos simulados
20
+ data = []
21
+
22
+ # Simular datos para cada autob煤s y d铆a
23
+ for bus in buses:
24
+ for day in days:
25
+ # Datos aleatorios simulados
26
+ punctuality = np.random.uniform(85, 99) # Puntualidad entre 85% y 99%
27
+ occupancy = np.random.uniform(30, 100) # Ocupaci贸n entre 30% y 100%
28
+ km = np.random.uniform(150, 300) # Kil贸metros recorridos entre 150 y 300
29
+ fuel_eff = np.random.uniform(20, 35) # Eficiencia de combustible entre 20 y 35 L/100km
30
+ coverage = np.random.choice([80, 90, 100]) # Cobertura de ruta (80%, 90% o 100%)
31
+
32
+ # Agregar datos al DataFrame
33
+ data.append({
34
+ "bus_id": bus,
35
+ "date": day,
36
+ "punctuality": round(punctuality, 2), # Redondear a 2 decimales
37
+ "occupancy": round(occupancy, 2), # Redondear a 2 decimales
38
+ "km": round(km, 1), # Redondear a 1 decimal
39
+ "fuel_eff": round(fuel_eff, 2), # Redondear a 2 decimales
40
+ "route_coverage": coverage
41
+ })
42
+
43
+ # Convertir la lista de diccionarios en un DataFrame
44
+ return pd.DataFrame(data)