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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *