Zastępowanie ocen medianą grupy
W poprzednim ćwiczeniu zastąpiłeś brakujące wartości w kolumnie rating medianą całej kolumny. Czy można to zrobić lepiej? Tak! Możesz zastąpić brakujące wartości medianą ocen czekolad pochodzących od tej samej firmy. Do dzieła!
Do dyspozycji masz gotową funkcję replace_missing(), która przyjmuje dwa argumenty – DataFrame group i kolumnę col. Funkcja próbuje obliczyć medianę kolumny col i zwraca ją, jeśli obliczenie się powiedzie. Jeśli obliczenie mediany nie jest możliwe – na przykład dlatego, że kolumna nie zawiera żadnych wartości – funkcja zwraca z góry zdefiniowaną wartość.
Zbiór danych chocolates oraz pakiety DataFrames i Statistics zostały już wczytane.
To ćwiczenie jest częścią kursu
Manipulacja danymi w Julii
Instrukcje do ćwiczenia
- Pogrupuj
chocolateswedługcompanyi przejdź iteracyjnie przez GroupedDataFrame. - Przefiltruj każdą grupę za pomocą
ismissing()i kolumnyrating, zastępując brakujące wartości wynikiem funkcjireplace_missing().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Group by company and iterate
for group in ____(____)
# Subset each group using ismissing() and the rating column, assign a new value
group[____, ____] .= replace_missing(group, :rating)
end
println(describe(chocolates, :nmissing))