Hoe gebruik je "is niet null"? in panda's (met voorbeelden)
U kunt de functie pandas notnull() gebruiken om te testen of de elementen van een pandas DataFrame null zijn of niet.
Als een element gelijk is aan NaN of Geen, retourneert de functie False .
Anders retourneert de functie True .
Hier volgen enkele veelvoorkomende manieren om deze functie in de praktijk te gebruiken:
Methode 1: Filter rijen zonder nulwaarden in welke kolom dan ook
df[df. notnull (). all ( 1 )]
Methode 2: Filter rijen zonder nulwaarden in een specifieke kolom
df[df[[' this_column ']]. notnull (). all ( 1 )]
Methode 3: Tel het aantal niet-nulwaarden in elke kolom
df. notnull (). sum ()
Methode 4: Tel het aantal niet-nulwaarden in het gehele DataFrame
df. notnull (). sum (). sum ()
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, 22, 19, 14, 14, 11, 20, np.nan], ' assists ': [5, np.nan, 7, 9, 12, 9, 9, np.nan], ' rebounds ': [11, 8, 10, 6, 6, 5, np.nan, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 B 22.0 NaN 8.0 2 C 19.0 7.0 10.0 3D 14.0 9.0 6.0 4 E 14.0 12.0 6.0 5 F 11.0 9.0 5.0 6G 20.0 9.0 NaN 7 H NaN NaN 12.0
Voorbeeld 1: Filter rijen zonder nulwaarden in een willekeurige kolom
De volgende code laat zien hoe u het DataFrame kunt filteren om in elke kolom alleen rijen zonder nulwaarden weer te geven:
#filter for rows with no null values in any column
df[df. notnull (). all ( 1 )]
team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
Houd er rekening mee dat elk van de rijen in dit gefilterde DataFrame in geen enkele kolom nulwaarden heeft.
Voorbeeld 2: Filter rijen zonder nulwaarden in een specifieke kolom
De volgende code laat zien hoe u het DataFrame kunt filteren om alleen rijen zonder nulwaarden in de helperkolom weer te geven:
#filter for rows with no null values in the 'assists' column
df[df[[' assists ']]. notnull (). all ( 1 )]
team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 NaN
Houd er rekening mee dat elk van de rijen in dit gefilterde DataFrame geen nulwaarden heeft in de Helper- kolom.
Voorbeeld 3: Tel het aantal niet-nulwaarden in elke kolom
De volgende code laat zien hoe u het aantal niet-nulwaarden in elke kolom van het DataFrame telt:
#count number of non-null values in each column
df. notnull (). sum ()
team 8
points 7
assists 6
rebounds 7
dtype: int64
Uit het resultaat kunnen we zien:
- De teamkolom heeft 8 waarden die niet nul zijn.
- De puntenkolom heeft 7 waarden die niet nul zijn.
- De assists- kolom heeft zes waarden die niet nul zijn.
- De bouncekolom bevat zeven waarden die niet nul zijn.
Voorbeeld 4: Tel het aantal niet-nulwaarden in het gehele DataFrame
De volgende code laat zien hoe u het aantal niet-nulwaarden in het gehele DataFrame telt:
#count number of non-null values in entire DataFrame
df. notnull (). sum (). sum ()
28
Uit de uitvoer kunnen we zien dat er 28 niet-nulwaarden in het gehele DataFrame zijn.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende filterbewerkingen in panda’s kunt uitvoeren:
Hoe u een Pandas DataFrame filtert op kolomwaarden
Hoe u “Bevat niet” filtert in Panda’s
Hoe u een Pandas DataFrame op meerdere voorwaarden kunt filteren