Menu
CoddyTech

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ą”:

Tabela przedstawiająca czterech uczniów i dwa quizy z trzema pustymi komórkami oznaczonymi jako NaN: Ben opuścił quiz1, Cy i Dee opuścili quiz2. Poniżej liczba braków w każdej kolumnie: 0, 1 i 2

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: int64

Nastę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.

challenge icon

Wyzwanie

Średni

Opaska 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.

  1. Wypisz braki w każdej kolumnie.
  2. 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.21

Spróbuj swoich sił

import pandas as pd

tracker = pd.read_csv("tracker.csv")
hours = float(input())

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Dane i wykresy

Poćwicz samodzielnie: Kompilator Python online