2
respostas

Desafio: trabalhando em outros contextos- ERRO

# Coletar os valores das colunas e verificar
colunas = [ 'Cliente','Valor da compra']
colunas
# Destrinchar as listas com explode
dados = dados.explode(colunas[1:])
# Resetar os index das linhas
dados.reset_index(drop=True,inplace=True)
# Observar o DataFrame
dados
# Verificar os tipos de dados com info
dados.info()
# A coluna numérica é a 'Valor da compra'
dados['Valor da compra']

KeyError Traceback (most recent call last) /tmp/ipython-input-141-3474657219.py in <cell line: 0>() 1 # A coluna numérica é a 'Valor da compra' ----> 2 dados['Valor da compra']

2 frames /usr/local/lib/python3.11/dist-packages/pandas/core/series.py in getitem(self, key) 1119 1120 elif key_is_scalar: -> 1121 return self._get_value(key) 1122 1123 # Convert generator to list before going through hashable part

/usr/local/lib/python3.11/dist-packages/pandas/core/series.py in _get_value(self, label, takeable) 1235 1236 # Similar to Index.get_value, but we do not fall back to positional -> 1237 loc = self.index.get_loc(label) 1238 1239 if is_integer(loc):

/usr/local/lib/python3.11/dist-packages/pandas/core/indexes/range.py in get_loc(self, key) 415 raise KeyError(key) from err 416 if isinstance(key, Hashable): --> 417 raise KeyError(key) 418 self._check_indexing_error(key) 419 raise KeyError(key)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Não estou entendendo esse erro

2 respostas

Olá, Thamiris, tudo bem?

O erro KeyError ocorre quando tentamos acessar uma coluna que não existe no DataFrame.

Peço que verifique se o nome da coluna Valor da compra está exatamente como aparece no DataFrame, incluindo maiúsculas, minúsculas e espaços.

Além disso, o método explode é usado para transformar listas em colunas em linhas. Verifique se a coluna 'Valor da compra' realmente contém listas antes de usar explode. Caso contrário, o explode pode não funcionar como esperado.

Então verifique se executou o código abaixo antes do explode:

colunas = list(dados.columns)
colunas

Recomendo também que reinicie a sessão e execute todo o código, seguindo estes passos:

  1. No menu de ferramentas do Google Colaboratory, clicar em "Ambientes de execução";

  2. Selecionar a opção "Reiniciar sessão e executar tudo".

Para realizar essas etapas, você pode acompanhar a imagem abaixo:

Reiniciar sessão e executar tudo, no Google Colaboratory

Deixo aqui o notebook, para consulta.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

parte 1

colunas = list(dados.columns)
colunas
dados = dados.explode(colunas[1:])
dados.reset_index(drop=True,inplace=True)
dados.info()
dados['Valor da compra']
dados
import numpy as al
dados['Valor da compra'] = dados['Valor da compra'].apply(lambda x: x.replace('R$ ', '').replace(',','.').strip())
dados['Valor da compra'] = dados['Valor da compra'].astype(np.float64)
dados.info()

parte 2

colunas = list(dados.columns)
colunas

dados = dados.explode(colunas[1:])

dados.reset_index(drop=True,inplace=True)

dados
dados.info()
dados['valor_aluguel']
import numpy as al
dados['valor_aluguel'] = dados['valor_aluguel'].apply(lambda x: x.replace('$ ', '').replace(' reais', '').replace(',','.').strip())
dados['valor_aluguel'] = dados['valor_aluguel'].astype(np.float64)
dados.info()

o problema estava no notebbok, obrigada