Imputering av NaN-värden
Nu ska vi imputera några värden med hjälp av metoden .transform(). I föregående uppgift skapade du en DataFrame fheroes där alla grupper med otillräckligt antal bmi-observationer togs bort. Kolumnen bmi innehåller dock många saknade värden (NaN). Givet två kopior av DataFrame:n fheroes (imp_globmean och imp_grpmean) är din uppgift att imputera NaN-värdena i kolumnen bmi med det totala medelvärdet respektive medelvärdet per grupp definierad av faktorerna Publisher och Alignment.
Tips: pandas Series och NumPy-arrayer har en speciell metod .fillna() som ersätter alla förekommande NaN-värden med ett värde som anges som argument.
Den här övningen är en del av kursen
Öva på kodningsintervjufrågor i Python
Övningsinstruktioner
- Definiera en lambda-funktion som imputerar
NaN-värden iseriesmed dess medelvärde. - Imputera
NaN-värden i kolumnenbmiiimp_globmeanmed det totala medelvärdet. - Imputera
NaN-värden i kolumnenbmiiimp_grpmeanmed medelvärdet per grupp.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())