Compare commits

...

5 Commits

Author SHA1 Message Date
Gregorio Reyes 3451a55365 Añade preprocesamiento de datos 2022-12-01 20:10:15 -06:00
Gregorio Reyes c4f7fe87d7 Refactoriza explorar.py 2022-12-01 19:11:16 -06:00
Gregorio Reyes 0f41fc1be2 Agrega utilerias.py 2022-12-01 19:10:51 -06:00
Gregorio Reyes 104f519a1c Actualiza gitignore 2022-12-01 19:10:26 -06:00
Gregorio Reyes 4c10a4ab6b Reubicar archivos 2022-12-01 19:04:43 -06:00
6 changed files with 94 additions and 2 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
*~
*~
*__pycache__*

View File

@ -1,5 +1,6 @@
import numpy as np
import pandas as pd
import utilerias as ut
class BaseDeDatos:
@ -19,7 +20,8 @@ class BaseDeDatos:
def leer_datos(self):
"""Método que lee los datos."""
data_path = "../../data/dvgm.csv"
data_file = "data/dvgm.csv"
data_path = ut.abs_path(data_file)
self.df = pd.read_csv(data_path)
def definir_variables(self):

43
src/preprocesar_datos.py Normal file
View File

@ -0,0 +1,43 @@
import numpy as np
import pandas as pd
def formatea_fecha(data):
data.loc[:, "fecha_completa"] = data.loc[:, "fecha"] + \
" " + data.loc[:, "hora_recepcion"]
data.loc[:, "fecha_completa"] = pd.to_datetime(
data.loc[:, "fecha_completa"], format="%d/%m/%y %H:%M:%S")
def limpia_descripcion_cierre(data):
renombre_de_valores = {"Cierre De Fuga": "Otros",
"Fuera De Entidad Federativa": "Otros",
"Fuera De Subzona": "Otros",
"Remitido Al M.p.": "Hecho real",
"Resolucion 1": "Hecho real",
"Resolucion 5": "Hecho real"}
data.loc[:, "descripcion_cierre"] = data.loc[:,
"descripcion_cierre"].replace(renombre_de_valores)
def limpia_via_recepcion(data):
renombre_de_valores = {"060 Monterrey": "Otros",
"80": "Otros",
"89": "Otros",
"App": "Otros",
"App 9-1-1": "Otros",
"Cic": "Otros",
"Rutina": "Gobierno",
"Sala crisis": "Gobierno",
"Telefonia movil": "Telefono",
"Videovigilancia": "Gobierno",
"Whats App": "Otros"}
data.loc[:, "via_recepcion"] = data.loc[:,
"via_recepcion"].replace(renombre_de_valores)
def run(data):
formatea_fecha(data)
limpia_descripcion_cierre(data)
limpia_via_recepcion(data)

34
src/serie_de_tiempo.py Normal file
View File

@ -0,0 +1,34 @@
import numpy as np
import pandas as pd
import preprocesar_datos as p_datos
import utilerias as ut
class SerieDeTiempo:
"""Esta clase gestiona la serie de tiempo."""
def __init__(self):
self.carga_datos()
self.definir_variables()
self.preprocesar_datos()
def carga_datos(self):
"""Carga los datos de los reportes al 911."""
nombre_de_archivo = "data/dvgm.csv"
data_path = ut.abs_path(nombre_de_archivo)
self.data = pd.read_csv(data_path)
def definir_variables(self):
"""Método que define variables necesarias respecto a los datos."""
self.atributos = self.data.columns.values
def preprocesar_datos(self):
"""Método que preprocesa los datos que lo requieren."""
p_datos.run(self.data)
print(self.data.groupby("via_recepcion").count())
if __name__ == "__main__":
st = SerieDeTiempo()

12
src/utilerias.py Normal file
View File

@ -0,0 +1,12 @@
import os
def abs_path(filename):
"""Obtiene el camino absoluto a un archivo."""
file_path = os.path.abspath(
os.path.join(
os.path.join(os.path.dirname(__file__), ".."),
filename,
)
)
return file_path