Panda's - Verkeerde gegevens herstellen


Verkeerde data

"Verkeerde gegevens" hoeven niet "lege cellen" of "verkeerd formaat" te zijn, het kan gewoon verkeerd zijn, bijvoorbeeld als iemand "199" heeft geregistreerd in plaats van "1.99".

Soms kun je verkeerde data ontdekken door naar de dataset te kijken, omdat je een verwachting hebt van wat het zou moeten zijn.

Als je onze dataset bekijkt, zie je dat in rij 7 de duur 450 is, maar voor alle andere rijen ligt de duur tussen de 30 en 60.

Het hoeft niet fout te zijn, maar aangezien dit de dataset is van iemands trainingssessies, besluiten we met het feit dat deze persoon niet in 450 minuten heeft gesport.

      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 kunnen we verkeerde waarden corrigeren, zoals die voor 'Duur' in rij 7?


w3schools CERTIFIED . 2021

Gecertificeerd!

Voltooi de Pandas-modules, doe de oefeningen, doe het examen en je wordt w3schools-gecertificeerd!

$ 10 INSCHRIJVEN

Waarden vervangen

Een manier om verkeerde waarden te herstellen, is door ze te vervangen door iets anders.

In ons voorbeeld is het hoogstwaarschijnlijk een typfout en moet de waarde "45" zijn in plaats van "450", en we kunnen gewoon "45" in rij 7 invoegen:

Voorbeeld

Stel "Duur" = 45 in in rij 7:

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

Voor kleine datasets kun je misschien de verkeerde data één voor één vervangen, maar niet voor grote datasets.

Om verkeerde gegevens door grotere gegevenssets te vervangen, kunt u enkele regels maken, bijv. enkele grenzen stellen voor wettelijke waarden, en alle waarden vervangen die buiten de grenzen vallen.

Voorbeeld

Loop door alle waarden in de kolom "Duur".

Als de waarde hoger is dan 120, stelt u deze in op 120:

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

Rijen verwijderen

Een andere manier om met verkeerde gegevens om te gaan, is door de rijen met verkeerde gegevens te verwijderen.

Zo hoef je niet uit te zoeken waarmee je ze moet vervangen en is de kans groot dat je ze niet nodig hebt voor je analyses.

Voorbeeld

Verwijder rijen waar "Duur" hoger is dan 120:

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