Pandy - Naprawianie błędnych danych
Złe dane
„Błędne dane” nie muszą być „pustymi komórkami” lub „niewłaściwym formatem”, może po prostu być błędne, tak jakby ktoś zarejestrował „199” zamiast „1.99”.
Czasami możesz wykryć nieprawidłowe dane, patrząc na zestaw danych, ponieważ masz oczekiwania, jakie powinny być.
Jeśli spojrzysz na nasz zestaw danych, zobaczysz, że w wierszu 7 czas trwania wynosi 450, ale dla wszystkich pozostałych wierszy czas trwania wynosi od 30 do 60.
Nie musi się to mylić, ale biorąc pod uwagę, że jest to zestaw danych z czyichś sesji treningowych, wnioskujemy z tego, że ta osoba nie trenowała w 450 minut.
Duration Date Pulse Maxpulse Calories
0 60 '2020/12/01' 110 130 409.1
1 60 '2020/12/02' 117 145 479.0
2 60 '2020/12/03' 103 135 340.0
3 45 '2020/12/04' 109 175 282.4
4 45 '2020/12/05' 117 148 406.0
5 60 '2020/12/06' 102 127 300.0
6 60 '2020/12/07' 110 136 374.0
7 450 '2020/12/08' 104 134 253.3
8 30 '2020/12/09' 109 133 195.1
9 60 '2020/12/10' 98 124 269.0
10 60 '2020/12/11' 103 147 329.3
11 60 '2020/12/12' 100 120 250.7
12 60 '2020/12/12' 100 120 250.7
13 60 '2020/12/13' 106 128 345.3
14 60 '2020/12/14' 104 132 379.3
15 60 '2020/12/15' 98 123 275.0
16 60 '2020/12/16' 98 120 215.2
17 60 '2020/12/17' 100 120 300.0
18 45 '2020/12/18' 90 112 NaN
19 60 '2020/12/19' 103 123 323.0
20 45 '2020/12/20' 97 125 243.0
21 60 '2020/12/21' 108 131 364.2
22 45 NaN 100 119 282.0
23 60 '2020/12/23' 130 101 300.0
24 45 '2020/12/24' 105 132 246.0
25 60 '2020/12/25' 102 126 334.5
26 60 20201226 100 120 250.0
27 60 '2020/12/27' 92 118 241.0
28 60 '2020/12/28' 103 132 NaN
29 60 '2020/12/29' 100 132 280.0
30 60 '2020/12/30' 102 129 380.3
31 60 '2020/12/31' 92 115 243.0
Jak możemy naprawić nieprawidłowe wartości, takie jak „Czas trwania” w wierszu 7?
Zostać certyfikowanym!
ZAPISZ 10 USD
Zastępowanie wartości
Jednym ze sposobów naprawienia błędnych wartości jest zastąpienie ich czymś innym.
W naszym przykładzie najprawdopodobniej jest to literówka, a wartość powinna wynosić „45” zamiast „450”, a my moglibyśmy po prostu wstawić „45” w wierszu 7:
Przykład
Ustaw „Czas trwania” = 45 w wierszu 7:
df.loc[7, 'Duration'] = 45
W przypadku małych zestawów danych może być możliwe zastąpienie niewłaściwych danych jeden po drugim, ale nie w przypadku dużych zestawów danych.
Aby zastąpić nieprawidłowe dane dla większych zbiorów danych, możesz utworzyć pewne reguły, np. ustawić pewne granice dla wartości legalnych i zastąpić wszystkie wartości, które znajdują się poza granicami.
Przykład
Przejrzyj wszystkie wartości w kolumnie „Czas trwania”.
Jeśli wartość jest wyższa niż 120, ustaw ją na 120:
for x in df.index:
if df.loc[x, "Duration"] > 120:
df.loc[x, "Duration"] = 120
Usuwanie wierszy
Innym sposobem obsługi błędnych danych jest usuwanie wierszy zawierających nieprawidłowe dane.
W ten sposób nie musisz się zastanawiać, czym je zastąpić, a istnieje duża szansa, że nie potrzebujesz ich do analiz.
Przykład
Usuń wiersze, w których „Czas trwania” jest wyższy niż 120:
for x in df.index:
if df.loc[x, "Duration"] > 120:
df.drop(x, inplace = True)