Come utilizzare "non è nullo"? in panda (con esempi)
È possibile utilizzare la funzione pandas notnull() per verificare se gli elementi di un DataFrame panda sono nulli o meno.
Se un elemento è uguale a NaN o None, la funzione restituirà False .
Altrimenti, la funzione restituirà True .
Ecco alcuni modi comuni per utilizzare questa funzione nella pratica:
Metodo 1: filtra le righe senza valori null in qualsiasi colonna
df[df. notnull (). all ( 1 )]
Metodo 2: filtra le righe senza valori null in una colonna specifica
df[df[[' this_column ']]. notnull (). all ( 1 )]
Metodo 3: contare il numero di valori diversi da zero in ciascuna colonna
df. notnull (). sum ()
Metodo 4: contare il numero di valori diversi da zero nell’intero DataFrame
df. notnull (). sum (). sum ()
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:
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
Esempio 1: filtra le righe senza valori null in qualsiasi colonna
Il codice seguente mostra come filtrare DataFrame per visualizzare solo le righe senza valori null in qualsiasi colonna:
#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
Tieni presente che ciascuna delle righe in questo DataFrame filtrato non ha valori null in nessuna colonna.
Esempio 2: filtrare le righe senza valori null in una colonna specifica
Il codice seguente mostra come filtrare DataFrame per visualizzare solo le righe senza valori null nella colonna helper :
#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
Tieni presente che ciascuna delle righe in questo DataFrame filtrato non ha valori null nella colonna Helper .
Esempio 3: contare il numero di valori diversi da zero in ciascuna colonna
Il codice seguente mostra come contare il numero di valori diversi da zero in ciascuna colonna del DataFrame:
#count number of non-null values in each column
df. notnull (). sum ()
team 8
points 7
assists 6
rebounds 7
dtype: int64
Dal risultato possiamo vedere:
- La colonna della squadra ha 8 valori diversi da zero.
- La colonna dei punti ha 7 valori diversi da zero.
- La colonna degli assist ha 6 valori diversi da zero.
- La colonna dei rimbalzi ha 7 valori diversi da zero.
Esempio 4: contare il numero di valori diversi da zero nell’intero DataFrame
Il codice seguente mostra come contare il numero di valori diversi da zero nell’intero DataFrame:
#count number of non-null values in entire DataFrame
df. notnull (). sum (). sum ()
28
Dall’output possiamo vedere che ci sono 28 valori diversi da zero nell’intero DataFrame.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni di filtro comuni nei panda:
Come filtrare un Pandas DataFrame in base ai valori delle colonne
Come filtrare “Non contiene” in Pandas
Come filtrare un Pandas DataFrame su più condizioni