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.