- Ahora Se ignoran los registros con municipio o estado invalido

- Tambien se ignoran los registros con sexo invalido como en el script original
parent 2c554b01
......@@ -152,7 +152,7 @@ def eliminar_registros(registros_kafka: List[RegistroKafka]):
# Se obtienen los ids de los registros de Kafka
ids = [registro.ID_REGISTRO for registro in registros_kafka]
ids_fallecidos = [f'{id}_f' for id in ids]
ids_fallecidos = [f'{id}_FC' for id in ids]
# Se eliminan los registros de la base de datos
SESION.query(Registro).filter(Registro.id.in_(ids)).delete()
......
......@@ -5,7 +5,13 @@ from pathlib import Path
# Modelos
from modelos import RegistroKafka
# Nivel geográfico
# Ignorar sexos inválidos
IGNORAR_SEXOS_INVALIDOS = True
# Ignorar registros con municipio o estado inválido
IGNORAR_GEO_INVALIDOS = True
# Nivel geográfico (estado o municipio)
NIVEL_GEOGRAFICO = 'municipio'
# Ruta del archivo actual
......@@ -108,10 +114,14 @@ def inicializar_dataframe(registros: List[RegistroKafka]):
df['sexo'] = df['SEXO'].apply(lambda id: SEXOS[id])
del df['SEXO']
# Se eliminan los registros cuyo 'sexo' sea 'NO ESPECIFICADO'
if IGNORAR_SEXOS_INVALIDOS:
df = df[df['sexo'] != 'NO ESPECIFICADO']
# Se crea una nueva columna 'conjunto' con el valor 'COVID-19'
df['conjunto'] = 'COVID-19'
# Función 'clasificación' que interpreta la columna de 'CLASIFICACION_FINAL' y 'FECHA_DEF'
# Función 'clasificación' que interpreta la columna de 'CLASIFICACION_FINAL'
def clasificacion(valor):
if valor in [1, 2, 3]:
return 'CONFIRMADO'
......@@ -173,6 +183,10 @@ def inicializar_dataframe(registros: List[RegistroKafka]):
# Se elimina la columna de 'mun_ent'
del df['mun_ent']
# Se eliminan los registros cuyo 'estado_geo' sea 'NO APLICA', 'SE IGNORA' o 'NO ESPECIFICADO'
if IGNORAR_GEO_INVALIDOS:
df = df[~df['estado_geo'].isin(['NO APLICA', 'SE IGNORA', 'NO ESPECIFICADO'])]
# Se eliminan las columnas de 'ENTIDAD_RES' y 'MUNICIPIO_RES'
del df['ENTIDAD_RES']
del df['MUNICIPIO_RES']
......@@ -198,8 +212,8 @@ def inicializar_dataframe(registros: List[RegistroKafka]):
fallecidos = df[df['FECHA_DEF'].notnull() & (df['clasificacion'] == 'CONFIRMADO')].copy()
fallecidos['clasificacion'] = 'FALLECIDO'
# Se modifica el 'id' de los fallecidos agregando '_f'
fallecidos['id'] = fallecidos['id'] + '_f'
# Se modifica el 'id' de los fallecidos agregando '_FC' (Fallecido Confirmado)
fallecidos['id'] = fallecidos['id'] + '_FC'
# Se actualizan las columnas de 'tipo' y 'copia_tipo'
fallecidos['tipo'] = fallecidos['conjunto'] + ' ' + fallecidos['clasificacion']
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment