Pandas: como preencher valores nan com valores de outra coluna
Você pode usar a seguinte sintaxe para substituir valores NaN em uma coluna de um DataFrame do pandas por valores em outra coluna:
df[' col1 '] = df[' col1 ']. fillna (df[' col2 '])
Esta sintaxe específica substituirá todos os valores NaN em col1 pelos valores correspondentes em col2 .
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: Substitua os valores ausentes por outra coluna
Vamos supor que temos o seguinte DataFrame do pandas com alguns valores ausentes:
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
Observe que existem dois valores NaN na coluna team1 .
Podemos usar a função fillna() para preencher os valores NaN na coluna team1 com o valor correspondente na coluna 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
Observe que os dois valores NaN na coluna team1 foram substituídos pelos valores correspondentes na coluna team2 .
Nota : Você pode encontrar a documentação online completa para a função fillna() aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:
Como contar valores ausentes em pandas
Como deletar linhas com valores NaN no Pandas
Como deletar linhas contendo um valor específico no Pandas