1
resposta

KeyError: 'nome_do_curso'

O forum do curso de DataScience de pandas está desativado, não consigo fazer perguntas!! Estou tendo um erro e nao consigo solucionar, preciso de ajuda!

matriculas.groupby('id_curso').count().join(cursos['nome_do_curso'])

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
~\Documents\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   3802             try:
-> 3803                 return self._engine.get_loc(casted_key)
   3804             except KeyError as err:

~\Documents\Anaconda3\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

~\Documents\Anaconda3\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'nome_do_curso'

The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_1940\3003734164.py in <module>
----> 1 matriculas.groupby('id_curso').count().join(cursos['nome_do_curso'])

~\Documents\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   3802             if self.columns.nlevels > 1:
   3803                 return self._getitem_multilevel(key)
-> 3804             indexer = self.columns.get_loc(key)
   3805             if is_integer(indexer):
   3806                 indexer = [indexer]

~\Documents\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   3803                 return self._engine.get_loc(casted_key)
   3804             except KeyError as err:
-> 3805                 raise KeyError(key) from err
   3806             except TypeError:
   3807                 # If we have a listlike key, _check_indexing_error will raise

KeyError: 'nome_do_curso

Tentei de todas as formas remover este erro mas nao consigo! Preciso de ajuda!

1 resposta

Olá Marcos, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

O erro KeyError: 'nome_do_curso' indica que o Python não conseguiu encontrar a chave nome_do_curso no seu DataFrame. Isso pode ser devido a um erro de digitação no nome da chave ou a chave nome_do_curso realmente não existe no DataFrame.

Um detalhe importante é que ao longo do curso, o nome da coluna era Nome do Curso com iniciais maiúsculas, mas, foi renomeado para letras minúsculas separadas pelo underline, então, se certifique que executou o rename da coluna através do código abaixo:

cursos = cursos.rename(columns={'Nome do curso': 'nome_do_curso'})

Após isso, tente novamente realizar o agrupamento:

matriculas.groupby('id_curso').count().join(cursos['nome_do_curso'])

Também deixo para download o código feito ao longo do curso para conferência.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

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