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»:
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: int64Despué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.
Desafío
IntermedioA 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.
- Imprime los datos faltantes de cada columna.
- 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.21Pruébalo tú mismo
import pandas as pd
tracker = pd.read_csv("tracker.csv")
hours = float(input())
# Escribe tu código a continuación
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
4Dar forma a los datos
Cambiar la forma de los arraysUnir arraysNúmeros aleatoriosRepaso: simulación de dados2Arrays de NumPy
Creación de arraysForma y tamañoRangos de númerosIndexación y segmentaciónRepaso: cuadrícula de temperaturas5Gráficos de líneas y de dispersión
Etiquetas y títulosGráficos de dispersiónVarias líneas y leyendasColores y marcadoresFiguras y ejesRepaso: pasos semanales3Matemáticas con arrays
Operaciones matemáticas con arrays completosEstadísticas resumidasEstadísticas por ejeDifusiónMáscaras booleanasRepaso: calificaciones de exámenes6Gráficos para datos
Gráficos de barrasHistogramasVarios gráficos en unoImágenes como matricesRepaso: informe de precipitaciones9Agrupar y limpiar
Contar valoresAgrupar datosVarios resúmenesValores faltantesRepaso: resultados de la encuestaPractica por tu cuenta: Compilador de Python online