3
respostas

Aula 2: sns.boxplot(medias_por_filme) dá erro

Quando tento fazer o gráfico das médias por filme da aula 2 no Seaborn recebo um erro: Index.get_loc(self, key, method, tolerance) 3802 try: -> 3803 return self.engine.getloc(casted_key) 3804 except KeyError as err:Index.get_loc(self, key, method, tolerance) 3802 try: -> 3803 return self.engine.getloc(casted_key) 3804 except KeyError as err:

Vi que o valor do filmeId 3803 é nan. Tentei usar dropna mas não funcionou (não tira as linhas com nan). Alguma ideia? Estou usando o zip do curso e até agora estava tudo ok.

3 respostas

Olá, Michel! Tudo bom? Espero que sim

Para utilizar o método dropna() você precisa fazer a atribuição do resultado dele ao DataFrame novamente. Duas maneiras pra fazer isso são:

df = df.dropna() # Drop para o DataFrame inteiro
df['nome_da_coluna'] = df['nome_da_coluna'].dropna() # Para apenas uma coluna do DataFrame

Ou você também pode utilizar o parâmetro inplace = True, que vai fazer a alteração direto no DataFrame em questão.

df.dropna(inplace = True) # Transforma o DataFrame df diretamente e mantém apenas os valores válidos

Realize os testes com o dropna e se o problema ainda persistir, envie o código do Notebook que está utilizando. Pode ser via Google Colab.

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

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

Olá Marcus,

Muito obrigado pela tua ajuda. O mistério aumentou - refiz o código no Colab e funcionou sem problemas. No meu computador é que dá o erro, e não consigo entender a mensagem de erro. Vou tentar reinstalar tudo

Olá Michel, estou com o mesmo erro que você. No colab funciona perfeitamento, mas no meu terminal VsCode não roda. Conseguiu resolver ?

Consegui resolver de outra forma

Incluir a analise em vertical no código.

sns.boxplot(x=medias_por_filme) ou sns.boxplot(y=medias_por_filme)