1
resposta

Não consig entender porque o meu codigo não esta rodando, estou com dificuldade na compreenção.

sns.set_theme()
sns.set_palette('Dark2')

fig, ax = plt.subplots(figsize=(10, 5))

print(df.index.unique()) 

ax = sns.lineplot(df.loc['Brasil', anos], label='Brasil', lw=3) 
ax = sns.lineplot(df.loc['Argentina', anos], label='Argentina', lw=3)
ax = sns.lineplot(df.loc['Peru', anos], label='Peru', lw=3)
ax = sns.lineplot(df.loc['Colombia', anos], label='Colômbia', lw=3) 

ax.set_title('Imigração dos maiores países da América do Sul\npara o Canadá de 1980 a 2013', loc='left', fontsize=20)
ax.set_xlabel('Ano', fontsize=14)
ax.set_ylabel('Número de imigrantes', fontsize=14)

ax.xaxis.set_major_locator(plt.MultipleLocator(5))

ax.legend(title='Países', loc='upper right', bbox_to_anchor=(1.18, 1.02))

plt.show()

Apresenta o erro:

RangeIndex(start=0, stop=195, step=1)
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-148-4f2408a4d4bd> in <cell line: 9>()
      7 
      8 
----> 9 ax = sns.lineplot(df.loc['Argentina', anos], label='Argentina', lw=3)
     10 ax = sns.lineplot(df.loc['Peru', anos], label='Peru', lw=3)
     11 ax = sns.lineplot(df.loc['Colombia', anos], label='Colômbia', lw=3) # If 'Colombia' is the correct index

6 frames
/usr/local/lib/python3.10/dist-packages/pandas/core/indexes/range.py in get_loc(self, key)
    416                 raise KeyError(key) from err
    417         if isinstance(key, Hashable):
--> 418             raise KeyError(key)
    419         self._check_indexing_error(key)
    420         raise KeyError(key)

KeyError: 'Argentina'
1 resposta

Oii, Alane! Como você está?

O erro indica que o índice 'Argentina' não está presente no DataFrame df. Isso pode acontecer por vários motivos, por exemplo, passar um tempo desconectada ou ocioso sem mexer no Google colab e ele pausa a execução dos códigos nas células, erros de sintaxe e etc.

Sendo assim, recomendo que vá no menu superior do Google Colab e clique em Ambiente de execução e depois Executar tudo. Dessa forma, todas as células de códigos anteriores serão ativadas e pode reparar o erro do índice Argentina não encontrado.

Captura de tela mostrando a guia ambiente de execução encontrada no menu superior do google colab. Ao selecionar a guia, aparece subopções, executar tudo está destacada por um traço verde, indicando a realização da ação.

E também revise o código para ajustar alguns errinhos de digitação. Por exemplo, no df a Colômbia tem acento e no seu código você adiciona duas formas distintas de escrever na mesma linha:

ax = sns.lineplot(df.loc['Colombia', anos], label='Colômbia', lw=3) 

Troque para:

ax = sns.lineplot(df.loc['Colômbia', anos], label='Colômbia', lw=3) 

Pois pode retornar também erros caso os nomes das colunas não estejam semelhantes.

Espero ter ajudado. Caso tenha outras dúvidas, não deixe de compartilhar no fórum para podermos te auxiliar.

Bons estudos, Alane!