Menu
Coddy logo textTech

Limpieza de datos - Datos faltantes

Lección 6 de 19 del curso Análisis con Pandas de Coddy.

Por lo general, los archivos CSV contienen datos faltantes, nombres de columna incorrectos, duplicados, valores incorrectos y tipos de datos incorrectos. El módulo Pandas tiene todas las herramientas para manejar estos problemas.

Datos faltantes

Para averiguar si un valor falta o no:

df.isna()

Para saber cuántos valores faltantes tiene cada columna:

df.isna().sum()

La función isna() convierte todos los valores a true o false (faltante o no), luego se aplica. sum() tratará true como 1 y false como 0.

Para iterar sobre las columnas y su número de valores faltantes, use el método items() al igual que en un diccionario (aunque es un objeto de serie de Pandas):

for column, missing_num in df.isna().sum().items():
	print(column, missing_num)

Para completar todos esos valores faltantes para todo el dataframe, use el método fillna():

df = df.fillna("some value")

Para completar los valores faltantes solo para una columna, use la función fillna() sobre una columna:

df["some_column"] = df["some_column"].fillna("some value")

También existe la opción de eliminar todas las filas con valores faltantes:

df = df.dropna()
challenge icon

Desafío

Fácil

El archivo CSV missing.csv está desordenado.

Aquí están las primeras 5 líneas del archivo:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID
1,France,Signal violet,marksmanship,14,0.1924,1
1,France,Signal violet,marksmanship,14,0.1924,1
2,Solomon Islands,Pearl violet,,4,,1
3,Germany,,calligraphy,12,0.88646,0

Limpia los datos:

  • Rellena los valores faltantes de todas las columnas con más de 2 valores faltantes con el valor "Missing"
  • Elimina el resto de las filas que tengan valores faltantes.

Para ver tu progreso imprime el df: print(df)

Guarda el resultado final en la variable df.
¡No imprimas el df para pasar el caso de prueba!

Pruébalo tú mismo

# pandas as pd ya está importado
df = pd.read_csv("./missing.csv")
# Escribe tu código a continuación

Todas las lecciones de Análisis con Pandas