Panda: come riempire i valori nan con valori di un'altra colonna
È possibile utilizzare la seguente sintassi per sostituire i valori NaN in una colonna di un DataFrame panda con valori in un’altra colonna:
df[' col1 '] = df[' col1 ']. fillna (df[' col2 '])
Questa particolare sintassi sostituirà tutti i valori NaN in col1 con i valori corrispondenti in col2 .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: sostituisci i valori mancanti con un’altra colonna
Supponiamo di avere i seguenti DataFrame panda con alcuni valori mancanti:
import numpy as np import pandas as pd #create DataFrame with some NaN values df = pd. DataFrame ({' team1 ': ['Mavs', np.nan, 'Nets', 'Hawks', np.nan, 'Jazz'], ' team2 ': ['Spurs', 'Lakers', 'Kings', 'Celtics', 'Heat', 'Magic']}) #view DataFrame df team1 team2 0 Mavs Spurs 1 NaN Lakers 2 Nets Kings 3 Hawks Celtics 4 NaN Heat 5 Jazz Magic
Si noti che ci sono due valori NaN nella colonna team1 .
Possiamo utilizzare la funzione fillna() per riempire i valori NaN nella colonna team1 con il valore corrispondente nella colonna team2 :
#fill NaNs in team1 column with corresponding values in team2 column df[' team1 '] = df[' team1 ']. fillna (df[' team2 ']) #view updated DataFrame df team1 team2 0 Mavs Spurs 1 Lakers Lakers 2 Nets Kings 3 Hawks Celtics 4 Heat Heat 5 Jazz Magic
Da notare che i due valori NaN nella colonna team1 sono stati sostituiti con i valori corrispondenti nella colonna team2 .
Nota : puoi trovare la documentazione online completa per la funzione fillna() qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Come contare i valori mancanti nei panda
Come eliminare righe con valori NaN in Pandas
Come eliminare righe contenenti un valore specifico in Pandas