Solución:
Cuáles son esos 3 conjuntos de datos que seleccionaste para la detección de fallos.
- Boletín de Deuda Pública.
- Ejecución de gastos de personal por entidad operativa desconcentrada eod.
- Teletrabajo
En un párrafo cuéntanos qué defectos encontraste en la metadata y/o el diccionario de datos de esos 3 conjuntos de datos.
Hemos encontramos dos principales defectos, datos vacíos y problemas con el encoding, esto significa que en procesadores de datos no reconocen ciertos signos de puntuación, adicionalmente hay valores que deben ser int y se encuentran como float. Esto se especifica más adelante.
Cuál de esos 3 conjuntos de datos requieren proceso de limpieza. Cuéntanos un poco sobre qué campos/columnas contienen basura, y de qué tipo. campos/columnas contienen basura, y de qué tipo.
De los 3 conjuntos elegidos, 2 de ellos necesitan limpieza: Boletín de Deuda Pública y Teletrabajo.
Hemos procesado los datos con Python, esto se puede hacer de diferentes maneras, en el código se encuentra comentado los detalles.
Boletín de Deuda Pública
Contiene los datos del Boletín de Deuda Pública de Junio/2021 expresado en miles de dólares (USD).
import pandas as pd
import chardet
path_to_data = "data/boletin-de-deuda-publica/MEF_BoletinDeuda_SaldosYMovimientosIn2020_Junio2021.csv"
path_to_dict = "data/boletin-de-deuda-publica/mef_boletindeuda_saldosymovimientosin2020_junio2021_diccionariodatos.ods"
with open(path_to_data, 'rb') as f:
enc = chardet.detect(f.read())
df = pd.read_csv(path_to_data,encoding='latin1', delimiter=";")
df_dict = pd.read_excel(path_to_dict)
df
# Existen valores NaN en todas las columnas antes de la columna "Saldo al mes anterior"
# En las columnas despues de la mencionada antes, existen valores de vacios.
# Las columnas de año, SPT,SPNF,PGE,SPT,SPNF, PGE necesitan ser integer.
# Existe diccionario de datos.
Ejecucion de gastos de personal por entidad operativa desconcentrada eod
Reporte de ejecución del Presupuesto General del Estado (PGE) en gastos de personal 2021. Sectores: 111 y 112. Grupos: 51 y 71.
path_to_data = "data/ejecucion-de-gastos-de-personal-por-entidad-operativa-desconcentrada-eod/mef_presupuestogastospersonaleod_agosto2021.csv"
path_to_dict = "data/ejecucion-de-gastos-de-personal-por-entidad-operativa-desconcentrada-eod/mef_presupuestogastospersonaleod_agosto2021_diccionariodatos.ods"
with open(path_to_data, 'rb') as f:
enc = chardet.detect(f.read())
df = pd.read_csv(path_to_data,encoding='latin1', delimiter=";")
df_dict = pd.read_excel(path_to_dict)
df
# Es un DataSet bastante completo, pensamos que no necesita limpieza.
Teletrabajo
path_to_data = "data/teletrabajo/mdt_teletrabajo_2022mayo.csv"
path_to_dict = "data/teletrabajo/mdt_teletrabajo_dd_2022marzo.ods"
with open(path_to_data, 'rb') as f:
enc = chardet.detect(f.read())
df = pd.read_csv(path_to_data,encoding='latin1', delimiter=";")
df_dict = pd.read_excel(path_to_dict)
df_dict
#El encoding presenta problemas en signos de puntuacion, eso podria corregirse.
# Existen valores que son float y deberian ser integer. Ejm: mes_fecha_inicio_teletrabajo