Calidad datos

Este módulo se enfoca en analizar cualquier base de datos (dataframe) de interes para el usuario. Se tiene acceso a funciones de estadísticas descriptivas, cálculo de memoria, registros duplicados, faltantes y otras.

class calidad_datos.CalidadDatos(_base, castNumero=False, diccionarioCast=None, errores='ignore', formato_fecha=None)

Bases: object

CantidadDuplicados(eje=0, numero=False)

Retorna el porcentaje/número de filas o columnas duplicadas (repetidas) en el dataframe. Ver ejemplo

Parámetros:
  • eje – (int) {1, 0}, valor por defecto: 0. Si el valor es 1 la validación se realiza por columnas, si el valor es 0 la validación se realiza por filas.
  • numero – (bool) {True, False}, valor por defecto: False. Si el valor es False el resultado se expresa como un cociente, si el valor es True el valor se expresa como una cantidad de registros (número entero).
Devuelve:

(int o float) resultado de unicidad.

CorrelacionCategoricas(metodo='phik', limite=0.5, categoriasMaximas=30, variables=None)

Genera una matriz de correlación entre las variables de tipo categóricas. Ver ejemplo

Parámetros:
  • metodo – (str) {“phik”, “cramer”}, valor por defecto: “phik”. Medida de correlación a utilizar.
  • limite – (float) (valor de 0 a 1) límite de referencia, se utiliza para determinar si las variables posiblemente son de tipo categóricas y ser incluidas en el análisis. Si el número de valores únicos por columna es mayor al número de registros limite, se considera que la variable no es categórica.
  • categoriasMaximas – (int) (valor mayor a 0), indica el máximo número de categorías de una variable para que sea incluida en el análisis
  • variables – (list) lista de nombres de las columnas separados por comas. Permite escoger las columnas de interés de análisis del dataframe
Devuelve:

dataframe con las correlaciones de las columnas de tipo categórica analizadas.

CorrelacionNumericas(metodo='pearson', variables=None)

Genera una matriz de correlación entre las variables de tipo numérico Ver ejemplo

Parámetros:
  • metodo – (str) {“pearson”, “kendall”, “spearman”}, valor por defecto: “pearson”. Medida de correlación a utilizar.
  • variables – (list) lista de nombres de las columnas separados por comas. Permite escoger las columnas de interés de análisis del dataframe
Devuelve:

dataframe con las correlaciones de las columnas de tipo numérico analizadas.

DescripcionCategoricas(limite=0.5, categoriasMaximas=30, incluirNumericos=True, variables=None)

Genera una tabla con los primeros 10 valores más frecuentes de las columnas categóricas del dataframe, además calcula su frecuencia y porcentaje dentro del total de observaciones. Incluye los valores faltantes. Ver ejemplo

Parámetros:
  • limite – (float) (valor de 0 a 1) límite de referencia, se utiliza para determinar si las variables posiblemente son de tipo categóricas y ser incluidas en el análisis. Si el número de valores únicos por columna es mayor al número de registros limite, se considera que la variable no es categórica.
  • categoriasMaximas – (int) (valor mayor a 0), indica el máximo número de categorías de una variable para que sea incluida en el análisis
  • incluirNumericos – (bool) {True, False}, determina si se desea considerar las variables numéricas como categóricas e incluirlas en el análisis. Si el valor es True se incluyen las variables numéricas en el análisis, si el valor es False no se incluyen las variables numéricas en el análisis.
  • variables – (list) lista de nombres de las columnas separados por comas. Permite escoger las columnas de interés de análisis del dataframe
Devuelve:

dataframe con las estadísticas descriptivas de las columnas de tipo texto.

DescripcionNumericas(variables=None)

Calcula estadísticas descriptivas de cada columna numérica. Incluyen media, mediana, valores en distintos percentiles, desviación estándar, valores extremos y porcentaje de valores faltantes. Ver ejemplo

Parámetros:variables – (list) lista de nombres de las columnas separados por comas. Permite escoger las columnas de interés de análisis del dataframe
Devuelve:dataframe con las estadísticas descriptivas.
EmparejamientoDuplicados(col=False)

Retorna las columnas o filas que presenten valores duplicados del dataframe. Ver ejemplo

Parámetros:col – (bool) {True, False}, valor por defecto: False. Si el valor es True la validación se realiza por columnas, si el valor es False la validación se realiza por filas.
Devuelve:matriz (dataframe) que relaciona las indices de filas/nombre de columnas que presentan valores duplicados.
Memoria(col=False, unidad='megabyte')

Calcula el tamaño de la base de datos en memoria (megabytes). Ver ejemplo

Parámetros:
  • col – (bool) {True, False}, valor por defecto: False. Si el valor es False realiza el cálculo de memoria del dataframe completo, si el valor es True realiza el cálculo de memoria por cada columna del dataframe.
  • unidad – (str) {byte, kylobyte, megabyte, gygabyte, terabyte}, valor por defecto: “megabyte”. Es la unidad con la que se desea ver la memoria de la base de datos
Devuelve:

valor (float) del tamaño de la base de datos en megabytes (si el parámetro col es False). Serie de pandas con el cálculo de memoria en megabytes por cada columna del dataframe. (si el parámetro col es True).

Resumen(filas=True, columnas=True, colNumericas=True, colTexto=True, colBooleanas=True, colFecha=True, colOtro=True, filasRepetidas=True, columnasRepetidas=False, colFaltantes=True, colExtremos=True, memoriaTotal=True)

Retorna una tabla con información general de la base de datos. Incluye número de filas y columnas, número de columnas de tipo numéricas, de texto, booleanas, fecha y otros, número de filas y columnas no únicas, número de columnas con más de la mitad de las observaciones con datos faltantes, número de columnas con más del 10% de observaciones con datos extremos y el tamaño de la base de datos en memoria. Ver ejemplo

Parámetros:
  • filas – (bool) {True, False}, valor por defecto: True. Indica si se incluye el cálculo de número de filas del dataframe.
  • columnas – (bool) {True, False}, valor por defecto: True. Indica si se incluye el cálculo de número de filas del dataframe.
  • colNumericas – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de columnas de tipo numéricas.
  • colTexto – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de columnas de tipo texto.
  • colBooleanas – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de columnas de tipo boolean.
  • colFecha – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de columnas de tipo fecha.
  • colOtro – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de columnas de otro tipo deferente a los anteriores.
  • filasRepetidas – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de filas repetidas.
  • columnasRepetidas – (bool) {True, False}, valor por defecto: False. Indica si se incluye el número de columnas repetidas.
  • colFaltantes – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de columnas con más de la mitad de las observaciones con datos faltantes.
  • colExtremos – (bool) {True, False}, valor por defecto: True. Indica si se incluye el número de columnas con más del 10% de observaciones con datos extremos.
  • memoriaTotal – (bool) {True, False}, valor por defecto: True. Indica si se incluye el cálculo del tamaño de la base de datos en memoria.
Devuelve:

serie de pandas con las estadísticas descriptivas del dataframe.

TipoColumnas(tipoGeneral=True, tipoGeneralPython=True, tipoEspecifico=True)

Retorna el tipo de dato de cada columna del dataframe. Ver ejemplo

Parámetros:
  • tipoGeneral – (bool) {True, False}, valor por defecto: True. Incluye el tipo general de cada columna. Los tipos son: numérico, texto, booleano, otro
  • tipoGeneralPython – (bool) {True, False}, valor por defecto: True. Incluye el tipo general de cada columna dado por el método “dtypes” de Python
  • tipoEspecifico – (bool) {True, False}, valor por defecto: True. Incluye el porcentaje de los tres tipos más frecuentes de cada columna. Se aplica la función “type” de Python para cada observación.
Devuelve:

Dataframe de pandas con los tipos de dato de cada columna.

ValoresExtremos(extremos='ambos', numero=False)

Calcula el porcentaje o cantidad de outliers de cada columna numérica (las columnas con números en formato string se intentarán transformar a columnas numéricas). Ver ejemplo

Parámetros:
  • extremos – (str) {“superior”, “inferior”, “ambos”}, valor por defecto: “ambos”. Si el valor es “inferior” se tienen en cuenta los registros con valor menor al límite inferior calculado por la metodología de valor atípico por rango intercuartílico. Si el valor es “superior” se tienen en cuenta los registros con valor mayor al límite superior calculado por la metodología de valor atípico por rango intercuartílico. Si el valor es “ambos” se tienen en cuenta los registros con valor menor al límite inferior calculado por la metodología de valor atípico por rango intercuartílico, y también aquellos con valor mayor al límite superior calculado por la metodología de valor atípico por rango intercuartílico.
  • numero – (bool) {True, False}, valor por defecto: False. Si el valor es False el resultado se expresa como una proporcion (en decimales), si el valor es True el valor se expresa como una cantidad de registros (número entero).
Devuelve:

serie de pandas con la cantidad/proporcion de valores outliers de cada columna.

ValoresFaltantes(numero=False)

Calcula el porcentaje/número de valores faltantes de cada columna del dataframe. Ver ejemplo

Parámetros:numero – (bool) {True, False}, valor por defecto: False. Si el valor es False el resultado se expresa como un cociente, si el valor es True el valor se expresa como una cantidad de registros (número entero).
Devuelve:serie de pandas con la cantidad/cociente de valores faltantes de cada columna.
ValoresUnicos(faltantes=False)

Calcula la cantidad de valores únicos de cada columna del dataframe. Ver ejemplo

Parámetros:faltantes – (bool) {True, False}, valor por defecto: False. Indica si desea tener en cuenta los valores faltantes en el conteo de valores únicos.
Devuelve:serie de pandas con la cantidad de valores únicos de cada columna.
VarianzaEnPercentil(percentil_inferior=5, percentil_superior=95)

Retorna las columnas numéricas cuyo percentil_inferior sea igual a su percentil_superior. Ver ejemplo

Parámetros:
  • base – (dataframe) base de datos de interés a ser analizada.
  • percentil_inferior – (float), valor por defecto: 5. Percentil inferior de referencia en la comparación.
  • percentil_superior – (float), valor por defecto: 95. Percentil superior de referencia en la comparación.
Devuelve:

indices de columnas cuyo percentil inferior es igual al percentil superior.