Jak używać „is not null”? w pandach (z przykładami)
Możesz użyć funkcji pandas notnull() , aby sprawdzić, czy elementy ramki DataFrame pandy mają wartość null, czy nie.
Jeśli element ma wartość NaN lub None, funkcja zwróci False .
W przeciwnym razie funkcja zwróci True .
Oto kilka typowych sposobów wykorzystania tej funkcji w praktyce:
Metoda 1: Filtruj wiersze bez wartości null w żadnej kolumnie
df[df. notnull (). all ( 1 )]
Metoda 2: Filtruj wiersze bez wartości null w określonej kolumnie
df[df[[' this_column ']]. notnull (). all ( 1 )]
Metoda 3: Policz liczbę wartości niezerowych w każdej kolumnie
df. notnull (). sum ()
Metoda 4: Policz liczbę wartości niezerowych w całej ramce DataFrame
df. notnull (). sum (). sum ()
Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującą ramką DataFrame pand:
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
Przykład 1: Filtruj wiersze bez wartości null w żadnej kolumnie
Poniższy kod pokazuje, jak filtrować DataFrame, aby wyświetlić tylko wiersze bez wartości null w żadnej kolumnie:
#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
Zauważ, że każdy z wierszy w tej przefiltrowanej ramce DataFrame nie ma wartości null w żadnej kolumnie.
Przykład 2: Filtruj wiersze bez wartości null w określonej kolumnie
Poniższy kod pokazuje, jak filtrować DataFrame, aby wyświetlić w kolumnie pomocniczej tylko wiersze bez wartości null:
#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
Zwróć uwagę, że każdy z wierszy w tej przefiltrowanej ramce DataFrame nie ma wartości null w kolumnie Pomocnik .
Przykład 3: Policz liczbę wartości niezerowych w każdej kolumnie
Poniższy kod pokazuje, jak policzyć liczbę wartości niezerowych w każdej kolumnie DataFrame:
#count number of non-null values in each column
df. notnull (). sum ()
team 8
points 7
assists 6
rebounds 7
dtype: int64
Z wyniku możemy zobaczyć:
- Kolumna zespołu ma 8 wartości niezerowych.
- Kolumna punktów ma 7 wartości niezerowych.
- Kolumna asyst ma 6 wartości niezerowych.
- Kolumna odbić ma 7 wartości niezerowych.
Przykład 4: Policz liczbę wartości niezerowych w całej DataFrame
Poniższy kod pokazuje, jak policzyć liczbę wartości niezerowych w całej DataFrame:
#count number of non-null values in entire DataFrame
df. notnull (). sum (). sum ()
28
Z danych wyjściowych widzimy, że w całej ramce DataFrame znajduje się 28 wartości niezerowych.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje filtrowania w pandach:
Jak filtrować ramkę danych Pandas według wartości kolumn
Jak filtrować „Nie zawiera” w Pandach
Jak filtrować ramkę danych Pandas pod wieloma warunkami