Reporte

La función generar_reporte(base) busca facilitar el proceso de entendimiento de la calidad de datos de una base de datos de interés, para esto genera un reporte en formato HTML el cual consolida las funciones de calidad de datos implementadas en el módulo leila.calidad_datos y leila.datos_gov, facilitando la consulta de los resultados obtenidos del análisis exploratorio en un archivo independiente.

reporte.generar_reporte(datos=None, titulo='Reporte perfilamiento', archivo='perfilamiento_leila.html', secciones={'correlaciones': True, 'especificas': ['tipo', 'frecuencias', 'duplicados_columnas', 'descriptivas'], 'generales': True, 'muestra_datos': True}, **kwargs)

Genera un reporte de calidad de datos en formato HTML. Ver ejemplo

Parámetros:
  • datos – (str, pandas.DataFrame, leila.CalidadDatos) Se acepta cualquier ruta o path a archivos tipo .xlsx o .csv (recomendado). Si desea pasar un DataFrame de pandas, LEILA soporta este tipo de entrada. LEILA también soporta como entrada objectos del tipo leila.CalidadDatos. También se acepta la identificación de la base de datos asociado con la API de Socrata (de Datos Abiertos).
  • titulo – (str) valor por defecto: “Reporte perfilamiento”. Título del reporte a generar.
  • archivo – (str) valor por defecto: “perfilamiento.html”. Ruta donde guardar el reporte.
  • secciones – (dic) Diccionario indicando que secciones incluir en el reporte. Ver ejemplo
    Las opciones son las siguientes:
    • “generales”: (bool) {True, False}. Valor por defecto: True. Indica si desea incluir la sección de “Estadísticas generales” en el reporte.
    • “muestra_datos”: (bool) {True, False}. Valor por defecto: True. Indica si desea incluir la sección “Muestra de datos” en el reporte.
    • “correlaciones”: (bool/list) {True, False, Lista}. Valor por defecto: True. Puede tomar un valor booleano indicando si desea incluir la sección de “Correlaciones” en el reporte y todas sus pestañas. O mediante una lista de strings indicar que pestaña de la sección incluir. Valores posibles: “pearson”, “kendall”, “spearman”, “cramer”, “phik”
    • “especificas”: (bool/list) {True, False, Lista}. Valor por defecto: [“tipo”, “frecuencias”, “duplicados_columnas”, “descriptivas”]. Puede tomar un valor booleano indicando si desea incluir la sección de “Estadísticas específicas” en el reporte y todas sus pestañas. O mediante una lista de strings indicar que pestaña de la sección incluir. Valores posibles: “tipo”, “frecuencias”, “duplicados”, “duplicados_filas”, “duplicados_columnas”, “descriptivas”

Ejemplos


A continuación se presentan ejemplos de uso, el código y resultado esperado de estos. Los datos utilizados para los ejemplos corresponden a una muestra de los Casos positivos de COVID-19 en Colombia disponibles en el portal de Datos Abiertos de Colombia, se debe aclarar que los datos fueron modificados con el propósito de presentar el alcance de las diferentes funciones de la librería.

>>> # Se importa la librería pandas para la lectura de datos
>>> import pandas as pd

>>> dtypes = {'ID de caso': object,
>>>           'Código DIVIPOLA': object,
>>>           'Codigo departamento': object,
>>>           'Codigo pais':object}

>>> # Lectura de archivo de datos como dataframe
>>> df_datos = pd.read_excel('dataset ejemplos.xlsx', dtype=dtypes)

En caso que desee utilizar los datos utilizados en los ejemplos, puede descargarlos utilizando el siguiente link. Descargar datos (6.2 MB).


Generando un reporte

Crea un reporte de calidad de datos en formato HTML. Ver documentación reporte.generar_reporte()

En este ejemplo generaremos el reporte a partir de un api_id, este caso corresponde a los casos positivos de COVID-19 reportados en Colombia en el Portal de Datos Abiertos.

Teniendo en cuenta que se trata de un conjunto de datos con muchos registros, usamos el argumento limite_filas para limitar la descarga de información a solo los primeros 1.000 registros.

El título del reporte será “Casos positivos de COVID-19 en Colombia (primeros 1000 registros)” y será guardado con el nombre reporte_calidad_COVID.html

>>> # Se importa la función generar_reporte del módulo de reporte
>>> from leila.reporte import generar_reporte

>>> generar_reporte(datos="gt2j-8ykr",
>>>                 titulo='Casos positivos de COVID-19 en Colombia (primeros 1000 registros)',
>>>                 archivo='ejemplo_reporte__API_datos_abiertos.html',
>>>                 limite_filas=1000)

--------------------------------------------------------------------------------------------
No hay columnas duplicadas
--------------------------------------------------------------------------------------------
Se ha generado el reporte "ejemplo_reporte__API_datos_abiertos.html"
09:00:11 AM (00 min 6 seg)
--------------------------------------------------------------------------------------------

Personalizar secciones

Si desea excluir una sección del reporte lo puede hacer mediante el parámetro secciones. En el siguiente ejemplo se excluyó del reporte la sección “correlaciones”, y de la sección “Estadísticas específicas” solo se incluyeron las pestañas “Tipo de las columnas” y “Frecuencia de categorías”

>>> # Se importa la función generar_reporte del módulo de reporte
>>> from leila.reporte import generar_reporte

>>> generar_reporte(datos="bign-27m7",
>>>                 titulo="Reporte visas",
>>>                 archivo='ejemplo_reporte__secciones.html',
>>>                 secciones={'generales':True, 'muestra_datos': True, 'correlaciones': False,
>>>                            'especificas': ['tipo', 'frecuencias']})

--------------------------------------------------------------------------------------------
El conjunto de datos no tiene columnas numéricas
--------------------------------------------------------------------------------------------
Se ha generado el reporte "ejemplo_reporte__secciones.html"
09:00:20 AM (00 min 0 seg)
--------------------------------------------------------------------------------------------

Reporte usando archivos XLSX, CSV o DataFrames

También se puede generar el reporte a partir de un dataframe o indicando la ruta de un archivo XLSX o CSV. Para esto solo se requiere cambiar el parámetro datos.

>>> # Se importa la función generar_reporte del módulo de reporte
>>> from leila.reporte import generar_reporte

>>> # Se llama la función para generar el reporte
>>> generar_reporte(datos="dataset ejemplos.xlsx",
>>>                 titulo='Reporte de prueba archivo XLSX',
>>>                 archivo='ejemplo_reporte__archivo_XLSX.html')

--------------------------------------------------------------
Se ha generado el reporte "ejemplo_reporte__archivo_XLSX.html"
09:00:38 AM (00 min 20 seg)
--------------------------------------------------------------
>>> # Se importa la función generar_reporte del módulo de reporte
>>> from leila.reporte import generar_reporte

>>> # Se llama la función para generar el reporte
>>> generar_reporte(datos=df_datos,
>>>                 titulo='Perfilamiento datos COVID-19 - Colombia',
>>>                 archivo='ejemplo_reporte__dataframe.html')

--------------------------------------------------------------
Se ha generado el reporte "ejemplo_reporte__dataframe.html"
09:01:22 AM (00 min 22 seg)
--------------------------------------------------------------
Ejemplo de reporte

Ejemplo de reporte