Skip to content

Datos Faltantes

Published: at 12:00 AM

Datos Faltantes

Tipos de datos faltantes

Según Chen et al., existen tres tipos de datos faltantes:

Además proponemos la siguiente categoría:

Estrategias para identificar datos faltantes

(ésta sección sigue la teoría en VanderPlas)

Existen diferentes estrategias para indicar la presencia de datos faltantes en las tablas o DataFrames. Ninguna de éstas estrategias es perfecta.

máscaras (del inglés mask)

Se genera un arreglo booleano separado, o una representación en la tabla para indicar el estado nulo del valor.

Como desventajas de ésta estrategia está el que su implementación requiere más espacio para guardar el arreglo de máscara.

valores sentinel (del inglés sentinel value)

Los valores faltantes se remplazan por un valor específico, por ejemplo se usa un valor negativo como -999, u otro valor específico diferente a los datos presentes, o una convención global como el uso de la clase NaN.

Como desventajas tenemos que la presencia de éstos valores puede generar errores al calcular agregados.

En Pandas

Pandas implementa la estrategia de valores sentinel, específicamente al generar un DataFrame en pandas en la que haya datos faltantes se usan dos tipos de dato nulo que existen previamente en Python: NaN y None.

import pandas as pd
import numpy as np

Ejemplos:

Operaciones sobre valores nulos

Ejercicio 1

  1. Descargue el archivo de nacimientos del año 1998 del portal del DANE

  2. Cargue los datos a un DataFrame, llamado df98.

    AYUDA: Si usó la página del DANE la codificación es ISO-8859-1 y el separador es el tabular, \t

     pd.read_csv("Nacimientos_1998.txt",encoding='ISO-8859-1',sep="\t")
    
  3. Extraiga una serie de datos para la variable de nom_inst:

    serienombre = df98[‘nom_inst’]

  4. ¿Cómo encontraría cuántos datos faltan para la variable serienombre?

  5. Usando df98, construya un dataframe que sólo tenga registros completos. Llámelo df98filtrado.

  6. Con df98filtrado, haga un histograma del código de departamento.

Ejercicio 2

Quiero construir un histograma de las edades del padre. Revisando la descripción de los datos, he encontrado que hay un código de máscara. Ahora, podría pasar que, addemás de esta máscara, haya otros tipos de datos faltantes.

  1. Identifique si hay datos faltantes en la variable edad del padre.

  2. Cree una nueva variable que marque los valores de la máscara

  3. Filtre el conjunto de datos para tener sólo valores en los cuales existe el dato de edad del padre

Más información

https://jakevdp.github.io/PythonDataScienceHandbook/03.04-missing-values.html

Tablas Pivote

https://jakevdp.github.io/PythonDataScienceHandbook/03.09-pivot-tables.html

Bibliografía

Footnotes

  1. Se ejecuta así: data.isnull(). El resultado es un arreglo booleano, con los índices del 0 al 4, y con los valores True,False,True,False; que corresponden respectivamente a los valores del arreglo [1, np.nan, 'hello', None].


Previous Post
Analisis de Varianza (ANOVA)
Next Post
Estimación puntual y por intervalo