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

Aggiungi un commento

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