Método fillna() em DataFrames Pandas

Beginner

Introdução

Neste laboratório, você aprenderá como usar o método fillna() na biblioteca Pandas. O método fillna() permite preencher valores ausentes ou NaN (Not a Number) em um DataFrame com valores especificados ou usando um método especificado.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importando as bibliotecas necessárias

Vamos começar importando a biblioteca Pandas:

import pandas as pd

Criar um DataFrame com valores ausentes

Em seguida, vamos criar um DataFrame com alguns valores ausentes:

df = pd.DataFrame([[2, pd.nan, 0], [pd.nan, pd.nan, 5], [pd.nan, 3, pd.nan]], columns=list('ABC'))
print("O DataFrame é:")
print(df)

Preencher valores ausentes com um valor especificado

Podemos usar o método fillna() para substituir todos os valores ausentes por um valor especificado. Por exemplo, vamos substituir todos os valores ausentes no DataFrame pelo valor 2:

print("Preenchendo valores NaN:")
print(df.fillna(2))

Preencher valores ausentes usando o método de preenchimento forward fill

Em vez de usar um único valor para preencher valores ausentes, podemos propagar valores não nulos para frente usando o método de preenchimento para frente (ffill). Este método preenche os valores ausentes com o último valor não nulo observado na mesma coluna.

print("Preenchendo valores NaN usando o método de preenchimento para frente:")
print(df.fillna(method='ffill'))

Preencher valores ausentes usando o método forward fill ao longo das colunas

Também podemos usar o método de preenchimento para frente ao longo das colunas, definindo o parâmetro axis como 1.

print("Preenchendo valores NaN usando o método de preenchimento para frente ao longo das colunas:")
print(df.fillna(method='ffill', axis=1))

Preencher valores ausentes usando o método backward fill

De forma semelhante, podemos usar o método de preenchimento para trás (bfill) para propagar valores não nulos para trás. Este método preenche os valores ausentes com o próximo valor não nulo observado na mesma coluna.

print("Preenchendo valores NaN usando o método de preenchimento para trás:")
print(df.fillna(method='bfill'))

Substituir valores ausentes de colunas específicas por valores especificados

Podemos substituir os valores ausentes de colunas específicas com diferentes valores especificados. Por exemplo, vamos substituir os valores ausentes nas colunas 'A', 'B', 'C' e 'D' com os valores 0, 1, 2 e 3, respectivamente.

print("Preenchendo valores NaN em colunas específicas:")
new_values = {'A': 0, 'B': 1, 'C': 2, 'D': 3}
print(df.fillna(value=new_values))

Limitar o número de valores NaN consecutivos a preencher

Também podemos limitar o número de valores NaN consecutivos a serem preenchidos usando o parâmetro limit. Por exemplo, vamos limitar o preenchimento para frente (forward filling) a apenas um valor NaN consecutivo.

print("Preenchendo valores NaN com um limite:")
print(df.fillna(method='ffill', limit=1))

Resumo

Neste laboratório, você aprendeu como usar o método fillna() na biblioteca Pandas para preencher valores ausentes ou NaN em um DataFrame. Você explorou várias maneiras de preencher valores ausentes, incluindo o uso de um valor especificado, preenchimento para frente (forward filling), preenchimento para trás (backward filling) e limitando o número de valores NaN consecutivos a serem preenchidos. Fillna é um método útil para lidar com dados ausentes e garantir a integridade do seu DataFrame.