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?
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)