Imputarea valorilor NaN
Să încercăm să imputăm câteva valori folosind metoda .transform(). În exercițiul anterior ai creat un DataFrame fheroes din care au fost eliminate toate grupurile cu un număr insuficient de observații pentru bmi. Coloana bmi conține însă multe valori lipsă (NaN-uri). Pornind de la două copii ale DataFrame-ului fheroes (imp_globmean și imp_grpmean), sarcina ta este să imputezi NaN-urile din coloana bmi cu media globală, respectiv cu media per grup definit de factorii Publisher și Alignment.
Indiciu: Seriile pandas și array-urile NumPy dispun de metoda specială .fillna(), care înlocuiește toate NaN-urile întâlnite cu valoarea specificată ca argument.
Acest exercițiu face parte din cursul
Exersarea întrebărilor de interviu de programare în Python
Instrucțiuni pentru exercițiu
- Definește o funcție lambda care imputează valorile
NaNdintr-oseriescu media acesteia. - Imputează
NaN-urile din coloanabmia luiimp_globmeancu media globală. - Imputează
NaN-urile din coloanabmia luiimp_grpmeancu media per grup.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())