1
resposta

ultimo px.scatter - ValueError - valores negativos no DataFrame

Também obtive o mesmo retorno que a aluna Maya.

Em busca do erro, percebi que há valores negativos para os Estados do Amazonas (AM) e Amapá (AP) no dataframe 'emissao_estados' conforme código abaixo:

emissao_estados = emissoes_por_ano[emissoes_por_ano['Ano'] == 2021].groupby('Estado')[['Emissão']].sum().reset_index()
emissao_estados

saída:

EstadoEmissão
0AC1.647780e+08
1AL6.397182e+07
2AP-3.536316e+08
3AM-1.464334e+08
...

Não sei se houve alguma atualização no arquivo original do SEEG que possa atualmente ter retornado este resultado negativo. Então, no momento de passar o código abaixo, tenho o retorno de erro:

px.scatter(data_frame = dados_agrupados, x = 'populacao', y = 'Emissão', text = 'Estado', size = 'emissao_per_capita')

saída:


ValueError                                Traceback (most recent call last)
<ipython-input-74-11a0d86cca53> in <cell line: 1>()
----> 1 px.scatter(data_frame = dados_agrupados, x = 'populacao', y = 'Emissão', text = 'Estado', size = 'emissao_per_capita')

9 frames
/usr/local/lib/python3.10/dist-packages/_plotly_utils/basevalidators.py in raise_invalid_elements(self, invalid_els)
    310     def raise_invalid_elements(self, invalid_els):
    311         if invalid_els:
--> 312             raise ValueError(
    313                 """
    314     Invalid element(s) received for the '{name}' property of {pname}

ValueError: 
    Invalid element(s) received for the 'size' property of scatter.marker
        Invalid elements include: [-89.47575533515742, -189.12498549752283]

The 'size' property is a number and may be specified as:
      - An int or float in the interval [0, inf]
      - A tuple, list, or one-dimensional numpy array of the above

Como corrigir???

1 resposta

Oii, Andreh! Tudo bem?

Como sugestão, revise se o código anterior foi criado certinho:

dados_agrupados = dados_agrupados.assign(emissao_per_capita = dados_agrupados['Emissão']/dados_agrupados['populacao']).sort_values('emissao_per_capita', ascending = False)
dados_agrupados

Pois, ao rodar o código como teste não obtive o retorno do erro, deixo o link do notebook do teste abaixo:

Caso o erro persista após a revisão, compartilhe o seu notebook, por gentileza, para que eu possa ter a mesma visibilidade que você e tentar outros testes.

Bons estudos, Andreh!