Menu
CoddyTech

Valores faltantes

Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 45 de 60.

Los datos reales tienen lagunas: un sensor falla, no se realiza un cuestionario. pandas marca cada celda vacía como NaN, «no es un número»:

Una tabla de cuatro estudiantes y dos cuestionarios con tres celdas vacías marcadas como NaN: Ben no realizó quiz1, Cy y Dee no realizaron quiz2. Debajo, las lagunas contadas por columna: 0, 1 y 2

La mayoría de los modelos no aceptan NaN, así que primero cuenta los valores faltantes. .isna() marca cada uno como True, y .sum() los cuenta:

scores = pd.DataFrame({
    "name": ["Ana", "Ben", "Cy", "Dee"],
    "quiz1": [8, np.nan, 7, 9],  # np.nan es un valor faltante
    "quiz2": [6, 5, np.nan, np.nan],
})
print(scores.isna().sum())

Esto imprime:

name     0
quiz1    1
quiz2    2
dtype: int64

Después elige: dropna() elimina cada fila que tenga un valor faltante; fillna(0) escribe 0 en cada una. Ambas devuelven una tabla nueva, así que guárdala.

Las estadísticas omiten NaN: la media de quiz1 es 8.0, a partir de sus tres puntuaciones conocidas.

challenge icon

Desafío

Intermedio

A un monitor de actividad física le faltaron algunas lecturas en tracker.csv. Antes de entrenar, observa cómo cambia el promedio de sleep con cada forma de manejar los datos faltantes. El código inicial lee hours, un valor para rellenarlos.

  1. Imprime los datos faltantes de cada columna.
  2. Imprime la media de sueño, redondeada a 2 decimales, de tres maneras: omitiendo los datos faltantes, usando los días sin datos faltantes en ninguna columna y rellenando los datos faltantes con hours.

Para otro monitor y 8:

day      0
steps    1
sleep    2
water    0
dtype: int64
Skipping gaps: 6.9
Complete days only: 7.0
Gaps filled with 8.0: 7.21

Pruébalo tú mismo

import pandas as pd

tracker = pd.read_csv("tracker.csv")
hours = float(input())

# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Datos y gráficos

Practica por tu cuenta: Compilador de Python online