Panda's: dropna() gebruiken met thresh


U kunt de functie dropna() gebruiken om rijen uit een Panda DataFrame te verwijderen die ontbrekende waarden bevatten.

Je kunt het thresh- argument ook gebruiken om het minimumaantal niet-NaN-waarden op te geven dat een rij of kolom moet behouden blijven in het DataFrame.

Hier zijn de meest gebruikelijke manieren om het drempelargument in de praktijk te gebruiken:

Methode 1: Bewaar alleen rijen met een minimum aantal niet-NaN-waarden

 #only keep rows with at least 2 non-NaN values
df. dropna (thresh= 2 )

Methode 2: Bewaar alleen rijen met een minimumpercentage niet-NaN-waarden

 #only keep rows with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df. columns ))

Methode 3: Bewaar alleen kolommen met een minimum aantal niet-NaN-waarden

 #only keep columns with at least 6 non-NaN values
df. dropna (thresh= 6 ,axis= 1 )

Methode 4: Behoud alleen kolommen met een minimumpercentage niet-NaN-waarden

 #only keep columns with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df), axis= 1 )

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, np.nan, 19, 14, 14, 11, 20, np.nan],
                   ' assists ': [5, np.nan, np.nan, 9, np.nan, 9, 9, 4],
                   ' rebounds ': [11, np.nan, 10, 6, 6, 5, 9, np.nan]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
1 B NaN NaN NaN
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 NaN 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H NaN 4.0 NaN

Voorbeeld 1: Bewaar alleen rijen met een minimum aantal niet-NaN-waarden

We kunnen de volgende syntaxis gebruiken om alleen rijen in het DataFrame te behouden die ten minste twee niet-NaN-waarden hebben:

 #only keep rows with at least 2 non-NaN values
df. dropna (thresh= 2 )

	team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 NaN 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H NaN 4.0 NaN

Merk op dat de rij op indexpositie 1 is verwijderd omdat deze slechts één niet-NaN-waarde in de hele rij had.

Voorbeeld 2: Bewaar alleen rijen met een minimumpercentage niet-NaN-waarden

We kunnen de volgende syntaxis gebruiken om alleen die rijen in het DataFrame te behouden die ten minste 70% niet-NaN-waarden hebben:

 #only keep rows with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df. columns ))

        team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 NaN 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0

Merk op dat de rijen op indexposities 1 en 7 zijn verwijderd omdat deze rijen niet minimaal 70% van de waarden als niet-NaN-waarden bevatten.

Voorbeeld 3: Bewaar alleen kolommen met een minimum aantal niet-NaN-waarden

We kunnen de volgende syntaxis gebruiken om alleen die kolommen in het DataFrame te behouden die ten minste zes niet-NaN-waarden hebben:

 #only keep columns with at least 6 non-NaN values
df. dropna (thresh= 6 ,axis= 1 )

        team points rebounds
0 A 18.0 11.0
1 B NaN NaN
2 C 19.0 10.0
3D 14.0 6.0
4E 14.0 6.0
5 F 11.0 5.0
6G 20.0 9.0
7 H NaN NaN

Merk op dat de kolom ‘assisten’ is verwijderd omdat die kolom niet minstens 6 niet-NaN-waarden in de kolom bevatte.

Voorbeeld 4: Bewaar alleen kolommen met een minimumpercentage niet-NaN-waarden

We kunnen de volgende syntaxis gebruiken om alleen die kolommen in het DataFrame te behouden die ten minste 70% niet-NaN-waarden hebben:

 #only keep columns with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df), axis= 1 )

        team points rebounds
0 A 18.0 11.0
1 B NaN NaN
2 C 19.0 10.0
3D 14.0 6.0
4E 14.0 6.0
5 F 11.0 5.0
6G 20.0 9.0
7 H NaN NaN

Merk op dat de kolom „ondersteuning“ is verwijderd omdat deze kolom niet ten minste 70% niet-NaN-waarden bevatte.

Opmerking : u kunt de volledige documentatie van de pandas dropna() -functie hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Panda’s: hoe de index opnieuw in te stellen na het gebruik van dropna()
Panda’s: dropna() gebruiken met specifieke kolommen
Panda’s: rijen verwijderen op basis van meerdere voorwaarden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert