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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *