1
resposta

[Dúvida] erro notas.query("filmeId==1")


KeyError Traceback (most recent call last) /usr/local/lib/python3.10/dist-packages/pandas/core/computation/scope.py in resolve(self, key, is_local) 197 if self.has_resolvers: --> 198 return self.resolvers[key] 199

24 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.10/dist-packages/pandas/core/computation/scope.py in resolve(self, key, is_local) 209 return self.temps[key] 210 except KeyError as err: --> 211 raise UndefinedVariableError(key, is_local) from err 212 213 def swapkey(self, old_key: str, new_key: str, new_value=None) -> None:

1 resposta

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Olá, talvez tenha ocorrido o mesmo erro, eu havia definido a coluna do id dos filmes, como "filmeid", tudo minúsculo, ao alterar essa variável para qualquer letra maiúscula, como exemplo "filmesID", aparecerá o erro: UndefinedVariableError: name 'filmeId' is not defined.

Para corrigi-lo, basta verificar como a coluna está definida no seu dataset, conforme na imagem acima, o código só funcionará se for "filmeid", ficando desta maneira:

print ('Filme 1' ,notas.query('filmeid==1').nota.mean())

print ('Filme 2' ,notas.query('filmeid==2').nota.mean())

Lembrando: Python é uma linguagem case-sensitive, que faz diferenciação entre letras maiúsculas e minúsculas. Sendo assim, total_alunos e Total_alunos seriam nomes de variáveis diferentes.