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?


w3schools CERTIFIED . 2021

Ottieni la certificazione!

Completa i moduli Pandas, fai gli esercizi, sostieni l'esame e diventerai certificato w3schools!

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)