Boa noite. Durante a aula de Análise Exploratória, seguindo o passo a passo do Professor Guilherme, não estava conseguindo fazer a comparação do notas.query("filmeid==1"). Fiquei por quinze minutos tentando entender o motivo, sendo o seguinte erro gerado:
filmes = pd.read_csv("movies.csv") filmes.columns = ["filmeId", "titulo", "generos"] filmes.head()
No momento em que eu tentei fazer a linha notas.query("filmeId==1") igual ao do professor, gerou o seguinte erro:
keyError Traceback (most recent call last) /usr/local/lib/python3.11/dist-packages/pandas/core/computation/scope.py in resolve(self, key, is_local) 230 if self.has_resolvers: --> 231 return self.resolvers[key] 232
22 frames KeyError: 'filmeid'
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last) KeyError: 'filmeid'
The above exception was the direct cause of the following exception:
UndefinedVariableError Traceback (most recent call last) /usr/local/lib/python3.11/dist-packages/pandas/core/computation/scope.py in resolve(self, key, is_local) 242 return self.temps[key] 243 except KeyError as err: --> 244 raise UndefinedVariableError(key, is_local) from err 245 246 def swapkey(self, old_key: str, new_key: str, new_value=None) -> None:
UndefinedVariableError: name 'filmeid' is not defined
fiz o notas.head() e depois de dez minutos eu percebi que estava com o nome da coluna diferente no meu Dataframe notas e por isso não estava conseguindo fazer a comparação entre as colunas:
Inicialmente, na aula Data Science: dados e visualização, eu tinha nomeado as colunas do meu dataframe notas da seguinte forma: notas.columns = ["ID - Usuario", "ID - Filme", "Nota", "Momento"] Após eu alterar notas.columns = ["usuarioId", "filmeId", "nota", "momento"], deu certo de executar o notas.query("filmeId==1")
Minha sugestão é que na primeira aula seja informado para o aluno que é importante manter padronizado o nome das colunas, mesmo que seja algo óbvio. Para quem está começando e gosta de se aventurar em alterar os nomes conforme gostaria, sem seguir o padrão do professor, pode acabar ocasionando esse erro citado acima.