Pandas - Regstelling van verkeerde data


Verkeerde data

"Verkeerde data" hoef nie "leë selle" of "verkeerde formaat" te wees nie, dit kan net verkeerd wees, soos as iemand "199" in plaas van "1.99" geregistreer het.

Soms kan jy verkeerde data raaksien deur na die datastel te kyk, want jy het 'n verwagting van wat dit moet wees.

As jy na ons datastel kyk, kan jy sien dat die tydsduur in ry 7 450 is, maar vir al die ander rye is die tydsduur tussen 30 en 60.

Dit hoef nie verkeerd te wees nie, maar as in ag geneem word dat dit die datastel van iemand se oefensessies is, sluit ons af met die feit dat hierdie persoon nie binne 450 minute uitgewerk het nie.

      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

Hoe kan ons verkeerde waardes regmaak, soos die een vir "Duration" in ry 7?


w3schools CERTIFIED . 2021

Word gesertifiseer!

Voltooi die Pandas-modules, doen die oefeninge, neem die eksamen, en jy sal w3schools-gesertifiseer word!

R10 INSKRYF

Waardes vervang

Een manier om verkeerde waardes reg te stel, is om dit met iets anders te vervang.

In ons voorbeeld is dit heel waarskynlik 'n tikfout, en die waarde moet "45" wees in plaas van "450", en ons kan net "45" in ry 7 invoeg:

Voorbeeld

Stel "Duration" = 45 in ry 7:

df.loc[7, 'Duration'] = 45

Vir klein datastelle kan jy dalk die verkeerde data een vir een vervang, maar nie vir groot datastelle nie.

Om verkeerde data vir groter datastelle te vervang, kan jy 'n paar reëls skep, bv. stel 'n paar grense vir wetlike waardes, en vervang enige waardes wat buite die grense is.

Voorbeeld

Loop deur alle waardes in die "Duration"-kolom.

As die waarde hoër as 120 is, stel dit op 120:

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.loc[x, "Duration"] = 120

Verwyder rye

Nog 'n manier om verkeerde data te hanteer, is om die rye wat verkeerde data bevat, te verwyder.

Op hierdie manier hoef jy nie uit te vind waarmee om hulle te vervang nie, en die kans is groot dat jy hulle nie nodig het om jou ontledings te doen nie.

Voorbeeld

Vee rye uit waar "Duration" hoër as 120 is:

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.drop(x, inplace = True)