Introdução
Neste laboratório, aprenderemos como lidar com dados ausentes no pandas, um problema comum na análise de dados. Abordaremos como identificar dados ausentes, preencher valores ausentes e remover dados que não são necessários. Também discutiremos o escalar experimental NA no pandas, que pode ser usado para denotar valores ausentes.
Dicas para a 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ê.
Importar as Bibliotecas Necessárias e Criar um DataFrame
Para começar, precisamos importar as bibliotecas necessárias - pandas e NumPy. Em seguida, criaremos um DataFrame com alguns valores ausentes.
import pandas as pd
import numpy as np
## Create a DataFrame with missing values
df = pd.DataFrame(
np.random.randn(5, 3),
index=["a", "c", "e", "f", "h"],
columns=["one", "two", "three"],
)
df["four"] = "bar"
df["five"] = df["one"] > 0
df2 = df.reindex(["a", "b", "c", "d", "e", "f", "g", "h"])
Detectar Valores Ausentes
Em seguida, usaremos as funções isna e notna para detectar valores ausentes.
## Use isna and notna to detect missing values
pd.isna(df2["one"])
df2["four"].notna()
df2.isna()
Inserir Dados Ausentes
Aqui, veremos como inserir valores ausentes em nossos dados.
## Insert missing values
s = pd.Series([1., 2., 3.])
s.loc[0] = None
Realizar Cálculos com Dados Ausentes
Realizaremos alguns cálculos aritméticos e estatísticos básicos com dados ausentes.
## Perform calculations with missing data
df["one"].sum()
df.mean(axis=1, numeric_only=True)
df.cumsum()
Remover Rótulos de Eixos com Dados Ausentes
Aprenderemos como excluir rótulos com dados ausentes usando dropna.
df.dropna(axis=0)
df.dropna(axis=1)
df["one"].dropna()
Interpolar Valores Ausentes
Usaremos a função interpolate para preencher valores ausentes em um DataFrame.
df = pd.DataFrame(
{
"A": [1, 2.1, np.nan, 4.7, 5.6, 6.8],
"B": [0.25, np.nan, np.nan, 4, 12.2, 14.4],
}
)
df.interpolate()
Substituir Valores Genéricos
Aprenderemos como substituir valores arbitrários por outros valores usando replace.
ser = pd.Series([0.0, 1.0, 2.0, 3.0, 4.0])
ser.replace(0, 5)
Entender o Escalar NA para Denotar Valores Ausentes
Finalmente, discutiremos o escalar NA experimental no pandas, que pode ser usado para denotar valores ausentes.
s = pd.Series([1, 2, None], dtype="Int64")
s
Resumo
Neste laboratório, aprendemos como lidar com dados ausentes usando pandas. Cobrimos como detectar, inserir, calcular com e remover dados ausentes. Também aprendemos como interpolar e substituir valores ausentes. Por fim, discutimos o escalar NA experimental no pandas para denotar valores ausentes. Este conhecimento será muito útil ao lidar com tarefas de análise de dados do mundo real, onde dados ausentes são frequentemente um problema comum.