Añade preprocesamiento de datos

This commit is contained in:
Gregorio Reyes 2022-12-01 20:10:15 -06:00
parent c4f7fe87d7
commit 3451a55365
2 changed files with 77 additions and 0 deletions

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()