1
resposta

Erro na comparação booleana

Ao realizar a comparação booleana

Moda > Mediana > Media

recebo o seguinte erro:

ValueError                                Traceback (most recent call last)
<ipython-input-225-f6721b854744> in <module>()
----> 1 Moda > Mediana > Media

/usr/local/lib/python3.6/dist-packages/pandas/core/generic.py in __nonzero__(self)
   1477     def __nonzero__(self):
   1478         raise ValueError(
-> 1479             f"The truth value of a {type(self).__name__} is ambiguous. "
   1480             "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
   1481         )

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Anteriormente a esse erro tinha feito a seguinte comparação:

Moda < Mediana < Media

e recebi True de resultado normalmente. O quê pode ter causado esse erro?

1 resposta

Olá Renan, tudo bem ? Espero que sim.

Desculpa pela demora.

O que eu imagino que tenha acontecido foi que quando foi atribuir o valor a Moda você enviou a Series invés de acessar o valor:

Moda = dados['Anos de Estudo'].mode()
Moda

Resultado:

0    12
dtype: int64

Para corrigir isso basta acessar o único valor dessa Series:

Moda = dados['Anos de Estudo'].mode()[0]
Moda

Resultado:

12

Agora com o valor correto da Moda poderá fazer a comparação:

Moda > Mediana > Media

Resultado:

True

Espero ter ajudado, bons estudos.

: D