Zacznij terazZacznij za darmo

Imputacja wartości NaN

Spróbujmy zaimputować brakujące wartości, korzystając z metody .transform(). W poprzednim zadaniu utworzyłeś/-aś DataFrame fheroes, z którego usunięto wszystkie grupy z niewystarczającą liczbą obserwacji bmi. Kolumna bmi zawiera jednak wiele brakujących wartości (NaN). Masz do dyspozycji dwie kopie DataFrame fheroes (imp_globmean i imp_grpmean). Twoim zadaniem jest zaimputowanie wartości NaN w kolumnie bmi – odpowiednio: ogólną średnią oraz średnią dla każdej grupy zdefiniowanej przez czynniki Publisher i Alignment.

Wskazówka: obiekty pandas Series oraz tablice NumPy mają specjalną metodę .fillna(), która zastępuje wszystkie napotkane wartości NaN wartością podaną jako argument.

To ćwiczenie jest częścią kursu

Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję lambda, która imputuje wartości NaN w series jej średnią.
  • Zaimputuj wartości NaN w kolumnie bmi obiektu imp_globmean, używając ogólnej średniej.
  • Zaimputuj wartości NaN w kolumnie bmi obiektu imp_grpmean, używając średniej dla każdej grupy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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())
Edytuj i uruchom kod