Skip to content

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!

Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Dê ao PyGWalker uma ⭐️ no GitHub (opens in a new tab)
Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)

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.