Como imputar valores ausentes em pandas (incluindo um exemplo)


Você pode usar a seguinte sintaxe básica para imputar valores ausentes em um DataFrame do pandas:

 df[' column_name '] = df[' column_name ']. interpolate ()

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: interpolar valores ausentes em Pandas

Digamos que temos o seguinte DataFrame do pandas que mostra o total de vendas realizadas por uma loja durante 15 dias consecutivos:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                   ' sales ': [3, 6, 8, 10, 14, 17, 20, np.nan, np.nan, np.nan,
                             np.nan, 35, 39, 44, 49]})

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 NaN
8 9 NaN
9 10 NaN
10 11 NaN
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

Observe que faltam números de vendas de quatro dias no quadro de dados.

Se criássemos um gráfico de linhas simples para visualizar as vendas ao longo do tempo, seria assim:

 #create line chart to visualize sales
df[' sales ']. plot ()

imputar valores ausentes em pandas

Para preencher os valores ausentes, podemos usar a função interpolate() da seguinte forma:

 #interpolate missing values in 'sales' column
df[' sales '] = df[' sales ']. interpolate ()

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 23.0
8 9 26.0
9 10 29.0
10 11 32.0
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

Observe que cada um dos valores ausentes foi substituído.

Se criarmos outro gráfico de linhas para visualizar o quadro de dados atualizado, seria assim:

 #create line chart to visualize sales
df[' sales ']. plot ()

Observe que os valores escolhidos pela função interpolate() parecem corresponder muito bem à tendência dos dados.

Nota : Você pode encontrar a documentação completa para a função interpolate() aqui .

Recursos adicionais

Os tutoriais a seguir fornecem informações adicionais sobre como lidar com valores ausentes em pandas:

Como contar valores faltantes em pandas
Como substituir valores NaN por uma string no Pandas
Como substituir valores NaN por zero no Pandas

Add a Comment

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