1
resposta

original_language error

Olá, por algum motivo não consigo plotar o gráfico por ordem de value.counts.

Código

total_por_filme_outras_linguas = tmdb.query("original_language != 'en'").original_language.value_counts()
total_por_filme_outras_linguas
plt.figure(figsize=(5,10))
sns.catplot(x="original_language", kind="count", data = total_por_filme_outras_linguas, aspect=4, order = total_por_filme_outras_linguas.index)

ERRO

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-205-00af215e4f1f> in <module>
      1 plt.figure(figsize=(5,10))
----> 2 sns.catplot(x="original_language", kind="count", data = total_por_filme_outras_linguas, aspect=4, order = total_por_filme_outras_linguas.index)

~\anaconda3\lib\site-packages\seaborn\categorical.py in catplot(x, y, hue, data, row, col, col_wrap, estimator, ci, n_boot, units, seed, order, hue_order, row_order, col_order, kind, height, aspect, orient, color, palette, legend, legend_out, sharex, sharey, margin_titles, facet_kws, **kwargs)
   3724     # facets to ensure representation of all data in the final plot
   3725     p = _CategoricalPlotter()
-> 3726     p.establish_variables(x_, y_, hue, data, orient, order, hue_order)
   3727     order = p.group_names
   3728     hue_order = p.hue_names

~\anaconda3\lib\site-packages\seaborn\categorical.py in establish_variables(self, x, y, hue, data, orient, order, hue_order, units)
    150                 if isinstance(var, str):
    151                     err = "Could not interpret input '{}'".format(var)
--> 152                     raise ValueError(err)
    153 
    154             # Figure out the plotting orientation

ValueError: Could not interpret input 'original_language'
1 resposta

Oii Leonardo! Tudo bem contigo?

Quando você faz:

total_por_filme_outras_linguas = tmdb.query("original_language != 'en'").original_language.value_counts()
total_por_filme_outras_linguas

A variável total_por_filme_outras_linguas vai armazenar uma Series na qual temos as línguas originais dos filmes (menos o inglês) e a contagem de vezes que essas línguas aparecem. Observe parte do conteúdo dessa variável:

Código apresentado acima sendo executado em uma célula do Google Colab. O resultado é uma Series onde os índices são as abreviações das línguas e os valores são a quantidade de vezes que cada uma dessas línguas aparecem nos dados

Sendo assim, podemos perceber que ela não possui a coluna "original_language", por isso que, ao tentar gerar o gráfico com essa variável, o erro é gerado.

Dessa forma, para conseguirmos criar o gráfico de forma correta, devemos criar uma outra variável que irá armazenar um dataframe onde existe a coluna "original_language":

filmes_sem_lingua_original_em_ingles = tmdb.query("original_language != 'en'")

Essa variável está armazenando o dataframe com todos os dados nos quais a coluna "original_language" é diferente de "en". Portanto, agora podemos usar esse dataframe para plotar o gráfico e utilizar os índices da Series total_por_filme_outras_linguas para ordená-lo:

sns.catplot(x = "original_language", data = filmes_sem_lingua_original_em_ingles, kind="count", order = total_por_filme_outras_linguas.index)

Espero que isso ajude. Qualquer dúvida estou por aqui :)

Bons estudos!