Panda: come usare dropna() con colonne specifiche


È possibile utilizzare la funzione dropna() con l’argomento subset per rimuovere righe da un DataFrame panda che contengono valori mancanti in colonne specifiche.

Ecco i modi più comuni per utilizzare questa funzionalità nella pratica:

Metodo 1: rimuovi le righe con valori mancanti in una colonna specifica

 df. dropna (subset = [' column1 '], inplace= True )

Metodo 2: rimuovi le righe con valori mancanti in una delle numerose colonne specifiche

 df. dropna (subset = [' column1 ', ' column2 ', ' column3 '], inplace= True )

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, 28],
                   ' assists ': [5, np.nan, np.nan, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 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 8.0
2 C 19.0 NaN 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 9.0
7H 28.0 4.0 NaN

Esempio 1: rimuovi le righe con valori mancanti in una colonna specifica

Possiamo utilizzare la seguente sintassi per rimuovere le righe con valori mancanti nella colonna “assistions”:

 #drop rows with missing values in 'assists' column
df. dropna (subset = [' assists '], inplace= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.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 9.0
7H 28.0 4.0 NaN

Da notare che le due righe con valori mancanti nella colonna “Assist” sono state entrambe rimosse dal DataFrame.

Tieni inoltre presente che l’ultima riga del DataFrame viene mantenuta anche se ha un valore mancante perché il valore mancante non è nella colonna “aiuta”.

Esempio 2: rimuovere le righe con valori mancanti in una delle numerose colonne specifiche

Possiamo utilizzare la seguente sintassi per rimuovere righe con valori mancanti nelle colonne “punti” o “rimbalzi”:

 #drop rows with missing values in 'points' or 'rebounds' column
df. dropna (subset = [' points ', ' rebounds '], inplace= True )

#view updated DataFrame
print (df)

  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 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0

Da notare che le due righe con valori mancanti nelle colonne “punti” o “rimbalzi” sono state rimosse dal DataFrame.

Nota : puoi trovare la documentazione completa per la funzione panda dropna() 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 rimuovere colonne con valori NaN
Panda: come eliminare righe in base a più condizioni

Aggiungi un commento

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