Como corrigir erros de chave no Pandas: um guia detalhado
Updated on
Se você é um analista de dados ou cientista de dados, provavelmente encontrou o temido KeyError do Pandas. Esse erro, embora comum, pode ser particularmente frustrante. No entanto, com um pouco de conhecimento e as ferramentas certas, você pode diagnosticar e resolver rapidamente esses problemas. Este artigo fornecerá um guia detalhado sobre como corrigir erros de chave no Pandas.
Deseja criar rapidamente visualizações de dados em Python?
PyGWalker é um projeto aberto em Python que pode ajudar a acelerar o fluxo de trabalho de análise e visualização de dados diretamente em ambientes baseados em Jupyter Notebook.
PyGWalker (opens in a new tab) transforma seu Dataframe do Pandas (ou Dataframe do Polars) em uma IU visual onde você pode arrastar e soltar variáveis para criar gráficos com facilidade. Basta usar o seguinte código:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Você pode executar o PyGWalker agora mesmo com esses notebooks online:
E, não se esqueça de nos dar uma ⭐️ no GitHub!
Entendendo o KeyError do Pandas
Antes de entender como corrigir esses erros, vamos primeiro entender o que é um KeyError do Pandas.
No Pandas, uma 'chave' é outro nome para um nome de coluna em seu DataFrame. Um KeyError significa que o Pandas não consegue encontrar o nome da coluna que você está tentando acessar. Isso pode ser porque o nome não existe ou talvez haja um erro de digitação no nome que você está usando. Entender isso é o primeiro passo para corrigir erros de chave.
Método 1: Garantindo que o Rótulo da Coluna Existe
A maneira mais simples de evitar o KeyError é garantir que o rótulo da coluna exista em seu DataFrame. Isso requer um bom entendimento de seus dados e uma programação cuidadosa.
Aqui está um exemplo simples de como você pode encontrar um KeyError:
import pandas as pd
data = {'Name': ['John', 'Anna', 'Peter'],
'Age': [28, 24, 22]}
df = pd.DataFrame(data)
print(df['Names']) # Isso irá gerar um KeyError porque o nome correto da coluna é 'Name'
Se você não está certo se uma coluna existe, você pode usar o seguinte código para verificar:
if 'Names' in df.columns:
print(df['Names'])
else:
print("Coluna não existe.")
Método 2: Usando o Método get()
Se você quer capturar o erro sem parar o código, você pode usar a função get()
. Essa função retorna a coluna, se ela existir, ou um valor padrão se ela não existir. Veja como você pode usá-lo:
print(df.get('Names', 'Coluna não encontrada'))
Tratamento de erro avançado: Usando try, except
Enquanto os métodos acima são eficazes, às vezes, você pode querer uma abordagem mais robusta para tratar os erros. É aqui que os blocos try
e except
do Python são úteis. Você pode tentar acessar uma coluna e, se um KeyError for gerado, você pode lidar com ele no bloco except
.
Aqui está um exemplo:
try:
print(df['Names'])
except KeyError:
print('A coluna não existe.')
Entretanto, lembre-se de evitar blocos try
/except
com abrangência geral sem especificar o tipo de erro. Isso pode levar a erros inesperados.
Conclusão
KeyErrors no Pandas são comuns, mas com a abordagem certa, você pode evitar e resolver esses erros de maneira eficiente. Sempre certifique-se de que os rótulos de coluna existam no seu DataFrame, use get()
para acesso seguro e use try
/except
para tratamento de erro robusto.