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