Brakujące wartości
Część sekcji Dane i wykresy ścieżki Machine Learning w Coddy. Lekcja 45 z 60.
Rzeczywiste dane zawierają braki: czujnik przestaje działać, ktoś opuszcza quiz. pandas oznacza każdą pustą komórkę jako NaN, czyli „nie jest liczbą”:
Większość modeli odmawia przetwarzania NaN, więc najpierw policz braki. .isna() oznacza każdy z nich jako True, a .sum() je zlicza:
scores = pd.DataFrame({
"name": ["Ana", "Ben", "Cy", "Dee"],
"quiz1": [8, np.nan, 7, 9], # np.nan oznacza brak danych
"quiz2": [6, 5, np.nan, np.nan],
})
print(scores.isna().sum())To wyświetla:
name 0
quiz1 1
quiz2 2
dtype: int64Następnie wybierz: dropna() usuwa każdy wiersz z brakującą wartością; fillna(0) wpisuje 0 do każdego z nich. Obie metody zwracają nową tabelę, więc ją zapisz.
Statystyki pomijają NaN: średnia dla quiz1 wynosi 8.0 i jest obliczona na podstawie trzech znanych wyników.
Wyzwanie
ŚredniOpaska fitness nie zapisała niektórych odczytów w pliku tracker.csv. Zanim zaczniesz trening, sprawdź, jak każdy sposób obsługi brakujących danych wpływa na średnią wartość sleep. Kod początkowy odczytuje hours, czyli wartość do uzupełnienia braków.
- Wypisz braki w każdej kolumnie.
- Wypisz średnią wartość snu, zaokrągloną do 2 miejsc po przecinku, na trzy sposoby: pomijając braki, uwzględniając dni bez braków w żadnej kolumnie oraz uzupełniając braki wartością
hours.
Dla innej opaski i wartości 8:
day 0
steps 1
sleep 2
water 0
dtype: int64
Skipping gaps: 6.9
Complete days only: 7.0
Gaps filled with 8.0: 7.21Spróbuj swoich sił
import pandas as pd
tracker = pd.read_csv("tracker.csv")
hours = float(input())
# Napisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Dane i wykresy
4Przekształcanie danych
Zmiana kształtu tablicŁączenie tablicLiczby losowePodsumowanie: symulacja rzutu kostką2Tablice NumPy
Tworzenie tablicKształt i rozmiarZakresy liczbIndeksowanie i wycinaniePodsumowanie: siatka temperatur5Wykresy liniowe i punktowe
Etykiety i tytułyWykresy punktoweWiele linii i legendyKolory i znacznikiRysunki i osiePodsumowanie: tygodniowa liczba kroków8Filtrowanie i sortowanie
Wybieranie wierszyFiltrowanie wierszySortowanie wartościNowe kolumnyPodsumowanie: najlepsze produkty3Operacje matematyczne na tablicach
Operacje matematyczne na całych tablicachStatystyki podsumowująceStatystyki według osiRozgłaszanieMaski logicznePodsumowanie: wyniki egzaminów6Wykresy danych
Wykresy słupkoweHistogramyKilka wykresów na jednymObrazy jako tablicePodsumowanie: raport o opadach9Grupowanie i czyszczenie
Zliczanie wartościGrupowanie danychKilka podsumowańBrakujące wartościPowtórka: wyniki ankietyPoćwicz samodzielnie: Kompilator Python online