Panda: come usare dropna() con thresh


È possibile utilizzare la funzione dropna() per rimuovere righe da un DataFrame panda che contengono valori mancanti.

Puoi anche utilizzare l’argomento thresh per specificare il numero minimo di valori non NaN che una riga o una colonna deve essere conservata nel DataFrame.

Ecco i modi più comuni per utilizzare nella pratica l’argomento soglia :

Metodo 1: conserva solo le righe con un numero minimo di valori non NaN

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

Metodo 2: conserva solo le righe con una percentuale minima di valori non NaN

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

Metodo 3: mantieni solo le colonne con un numero minimo di valori non NaN

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

Metodo 4: mantieni solo le colonne con una percentuale minima di valori non NaN

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

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, 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

Esempio 1: mantieni solo le righe con un numero minimo di valori non NaN

Possiamo utilizzare la seguente sintassi per mantenere solo le righe nel DataFrame che hanno almeno 2 valori non NaN:

 #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

Tieni presente che la riga nella posizione dell’indice 1 è stata rimossa perché conteneva un solo valore diverso da NaN nell’intera riga.

Esempio 2: mantieni solo le righe con una percentuale minima di valori non NaN

Possiamo utilizzare la seguente sintassi per mantenere solo quelle righe nel DataFrame che hanno almeno il 70% di valori non NaN:

 #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

Tieni presente che le righe nelle posizioni dell’indice 1 e 7 sono state rimosse perché queste righe non contenevano almeno il 70% dei valori come valori non NaN.

Esempio 3: mantenere solo le colonne con un numero minimo di valori non NaN

Possiamo utilizzare la seguente sintassi per mantenere solo quelle colonne nel DataFrame che hanno almeno 6 valori non NaN:

 #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

Tieni presente che la colonna “assist” è stata rimossa perché non conteneva almeno 6 valori non NaN nella colonna.

Esempio 4: mantieni solo le colonne con una percentuale minima di valori non NaN

Possiamo utilizzare la seguente sintassi per mantenere solo quelle colonne nel DataFrame che hanno almeno il 70% di valori non NaN:

 #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

Tieni presente che la colonna “supporto” è stata rimossa perché non conteneva almeno il 70% di valori non NaN.

Nota : puoi trovare la documentazione completa della funzione dropna() di panda qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Panda: come reimpostare l’indice dopo aver utilizzato dropna()
Panda: come usare dropna() con colonne specifiche
Panda: come eliminare righe in base a più condizioni

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *