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

Aggiungi un commento

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