Menu
CoddyTech

Valori mancanti

Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 45 di 60.

I dati reali presentano lacune: un sensore si guasta, uno studente salta un quiz. pandas contrassegna ogni cella vuota con NaN, «non è un numero»:

Una tabella di quattro studenti e due quiz con tre celle vuote contrassegnate con NaN: Ben ha saltato quiz1, Cy e Dee hanno saltato quiz2. Sotto, il numero di lacune per colonna: 0, 1 e 2

La maggior parte dei modelli rifiuta NaN, quindi conta prima i valori mancanti. .isna() contrassegna ciascuno come True, e .sum() li conta:

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

Questo stampa:

name     0
quiz1    1
quiz2    2
dtype: int64

Poi scegli: dropna() elimina ogni riga con un valore mancante; fillna(0) inserisce 0 in ciascuna. Entrambi restituiscono una nuova tabella, quindi salvala.

Le statistiche ignorano NaN: la media di quiz1 è 8.0, calcolata sui suoi tre punteggi noti.

challenge icon

Sfida

Medio

A un tracker fitness sono mancate alcune letture in tracker.csv. Prima di allenarti, osserva come ciascun metodo di gestione dei dati mancanti modifica la media di sleep. Il codice iniziale legge hours, un valore da usare per riempire i dati mancanti.

  1. Stampa il numero di dati mancanti in ogni colonna.
  2. Stampa la media di sleep, arrotondata a 2 decimali, in tre modi: ignorando i dati mancanti, considerando i giorni senza dati mancanti in nessuna colonna e riempiendo i dati mancanti con hours.

Per un altro tracker e 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

Provalo tu

import pandas as pd

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

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Dati e grafici

Esercitati da solo: Compilatore Python online