Concepto
Un valor nulo es un dato que falta: una lectura que el sensor no envió o una celda que nadie llenó. pandas lo muestra como NaN. Antes de calcular, hay que saber cuántos hay y decidir qué hacer con ellos, porque esa decisión cambia los resultados.
df["columna"].isna().sum()Encontrarlos. isna() da True donde falta el dato. Sumado, cuenta los faltantes. Sobre la tabla completa, clientes.isna().sum() cuenta los de cada columna.
clientes["email"].isna().sum()Lo que hace pandas solo. sum(), mean() y casi todos los resúmenes ignoran los NaN. Es cómodo, pero puede engañar: un promedio calculado con la mitad de los datos se ve igual que uno calculado con todos.
Opción 1: quitar las filas. dropna() elimina las filas con algún dato faltante; con subset miras solo las columnas que importan. Es razonable cuando son pocas filas y no siguen un patrón.
clientes.dropna(subset=["email"])Opción 2: rellenar. fillna(valor) pone un valor fijo donde falta, por ejemplo 0 en una columna de descuentos, donde vacío significa "sin descuento". En mediciones que cambian de a poco, como una temperatura, ffill() repite la última lectura conocida.
ventas["descuento"] = ventas["descuento"].fillna(0)
stock_diario["unidades"].ffill()Ojo con ffill cuando la tabla mezcla grupos: si la primera lectura de un sensor faltara, se rellenaría con la última del sensor anterior. Rellenar es inventar un dato; cuando lo hagas, déjalo escrito en tu análisis.
> tarea Python
La tabla sensor ya está cargada, con lecturas de temperatura de dos sensores. Guarda en nulos cuántas temperaturas faltan. Guarda en sin_nulos la tabla sin las filas que no tienen temperatura. Después crea en sensor la columna temperatura_rellena, con cada temperatura faltante reemplazada por la última lectura conocida.
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.