Imputazione dei valori NaN
Proviamo a imputare alcuni valori usando il metodo .transform(). Nel compito precedente hai creato un DataFrame fheroes in cui sono stati rimossi tutti i gruppi con un numero insufficiente di osservazioni bmi. Tuttavia, la nostra colonna bmi contiene molti valori mancanti (NaN). Date due copie del DataFrame fheroes (imp_globmean e imp_grpmean), il tuo compito è imputare i NaN nella colonna bmi rispettivamente con la media complessiva e con la media per gruppo definito dai fattori Publisher e Alignment.
Suggerimento: le Series di pandas e gli array NumPy hanno un metodo speciale .fillna() che sostituisce tutti i NaN incontrati con un valore passato come argomento.
Questo esercizio fa parte del corso
Esercitarsi con le domande di colloquio di coding in Python
Istruzioni dell'esercizio
- Definisci una funzione lambda che imputa i valori
NaNinseriescon la sua media. - Imputa i
NaNnella colonnabmidiimp_globmeancon la media complessiva. - Imputa i
NaNnella colonnabmidiimp_grpmeancon la media per gruppo.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Define a lambda function that imputes NaN values in series
impute = lambda series: ____
# Impute NaNs in the bmi column of imp_globmean
imp_globmean['bmi'] = ____
print("Global mean = " + str(fheroes['bmi'].mean()) + "\n")
groups = imp_grpmean.groupby(['Publisher', 'Alignment'])
# Impute NaNs in the bmi column of imp_grpmean
imp_grpmean['bmi'] = groups[____].____
print(groups['bmi'].mean())