Panda: come rimuovere colonne con valori nan
È possibile utilizzare i seguenti metodi per rimuovere colonne da un DataFrame panda con valori NaN:
Metodo 1: rimuovere le colonne con qualsiasi valore NaN
df = df. dropna (axis= 1 )
Metodo 2: rimuovere le colonne con tutti i valori NaN
df = df. dropna (axis= 1 ,how=' all ')
Metodo 3: rimuovere le colonne con un numero minimo di valori NaN
df = df. dropna (axis= 1 ,thresh= 2 )
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', 'A', 'A', 'B', 'B', 'B'], ' position ': [np.nan, 'G', 'F', 'F', 'C', 'G'], ' points ': [11, 28, 10, 26, 6, 25], ' rebounds ': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]}) #view DataFrame print (df) team position points rebounds 0 A NaN 11 NaN 1 AG 28 NaN 2 AF 10 NaN 3 BF 26 NaN 4 BC 6 NaN 5 BG 25 NaN
Esempio 1: rimozione di colonne con valori NaN
Il codice seguente mostra come rimuovere colonne con valori NaN:
#drop columns with any NaN values df = df. dropna (axis= 1 ) #view updated DataFrame print (df) team points 0 to 11 1 to 28 2 to 10 3 B 26 4 B 6 5 B 25
Tieni presente che le colonne posizione e rimbalzi sono state rimosse perché entrambe avevano almeno un valore NaN.
Esempio 2: rimuovere le colonne con tutti i valori NaN
Il codice seguente mostra come rimuovere colonne con tutti i valori NaN:
#drop columns with all NaN values df = df. dropna (axis= 1 ,how=' all ') #view updated DataFrame print (df) team position points 0 A NaN 11 1 AG 28 2 AF10 3 BF 26 4 BC 6 5 BG 25
Tieni presente che la colonna dei rimbalzi è stata rimossa perché era l’unica colonna con tutti i valori NaN.
Esempio 3: rimozione di colonne con numero minimo di valori NaN
Il codice seguente mostra come rimuovere colonne con due o più valori NaN:
#drop columns with at least two NaN values df = df. dropna (axis= 1 ,thresh= 2 ) #view updated DataFrame print (df) team position points 0 A NaN 11 1 AG 28 2 AF10 3 BF 26 4 BC 6 5 BG 25
Tieni presente che la colonna dei rimbalzi è stata rimossa perché era l’unica colonna con almeno due valori NaN.
Nota : puoi trovare la documentazione completa della funzione dropna() in panda qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Come rimuovere la prima colonna in Pandas
Come rimuovere le colonne duplicate in Pandas
Come eliminare tutte le colonne tranne alcune in Pandas