Panda - Correzione di dati errati
Dato errato
"Dati errati" non devono essere "celle vuote" o "formato errato", possono semplicemente essere sbagliati, come se qualcuno avesse registrato "199" invece di "1.99".
A volte puoi individuare dati sbagliati guardando il set di dati, perché hai un'aspettativa di ciò che dovrebbe essere.
Se dai un'occhiata al nostro set di dati, puoi vedere che nella riga 7 la durata è 450, ma per tutte le altre righe la durata è compresa tra 30 e 60.
Non deve essere sbagliato, ma considerando che questo è il set di dati delle sessioni di allenamento di qualcuno, concludiamo con il fatto che questa persona non si è allenata in 450 minuti.
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
Come possiamo correggere valori errati, come quello per "Durata" nella riga 7?
Ottieni la certificazione!
ISCRIVITI A $10
Sostituzione di valori
Un modo per correggere i valori sbagliati è sostituirli con qualcos'altro.
Nel nostro esempio, è molto probabile che si tratti di un errore di battitura e il valore dovrebbe essere "45" anziché "450" e potremmo semplicemente inserire "45" nella riga 7:
Esempio
Impostare "Durata" = 45 nella riga 7:
df.loc[7, 'Duration'] = 45
Per piccoli set di dati potresti essere in grado di sostituire uno per uno i dati sbagliati, ma non per grandi set di dati.
Per sostituire i dati errati con insiemi di dati più grandi è possibile creare alcune regole, ad esempio impostare dei limiti per i valori legali e sostituire tutti i valori che sono al di fuori dei limiti.
Esempio
Scorri tutti i valori nella colonna "Durata".
Se il valore è maggiore di 120, impostarlo su 120:
for x in df.index:
if df.loc[x, "Duration"] > 120:
df.loc[x, "Duration"] = 120
Rimozione di righe
Un altro modo per gestire i dati errati consiste nel rimuovere le righe che contengono dati errati.
In questo modo non devi scoprire con cosa sostituirli e ci sono buone probabilità che non ti servano per fare le tue analisi.
Esempio
Elimina le righe in cui "Durata" è maggiore di 120:
for x in df.index:
if df.loc[x, "Duration"] > 120:
df.drop(x, inplace = True)