2
respostas

Bug pandas

Oi pessoal, mais alguém teve o mesmo problema que eu? Ver aula 2, vídeo 3, minuto 5, quando o Rodrigo fala da função cut().

Tentei no jupiter e no google colab mas a mensagem de erro é a mesma. Conferi o código umas 100x e acho que tá tudo certinho hehe Dei uma pesquisada rápida na internet e aparentemente é um bug do pandas.

pd.cut(x = dados.Renda,
       bins = classes,
       labels = labels,
       include_lowest = True)

ValueError                                Traceback (most recent call last)
<ipython-input-29-90bf962da147> in <module>
----> 1 pd.cut(x = dados.Renda,
      2        bins = classes,
      3        labels = labels,
      4        include_lowest = True)

~\anaconda3\lib\site-packages\pandas\core\reshape\tile.py in cut(x, bins, right, labels, retbins, precision, include_lowest, duplicates)
    253         # GH 26045: cast to float64 to avoid an overflow
    254         if (np.diff(bins.astype("float64")) < 0).any():
--> 255             raise ValueError("bins must increase monotonically.")
    256 
    257     fac, bins = _bins_to_cuts(

ValueError: bins must increase monotonically.
2 respostas

Como está a sua lista de classes? Ela está em ordem crescente, certinho?

Ei Marina, tudo joia? Quando fiz esse curso não tive esse problema (utilizei o Colab). Talvez seja porque os valores da classe não estejam em ordem crescente...

Antes de executar o código pd.cut, tenta inserir os valores a seguir para as variáveis 'classes' e 'labels':

classes = [0, 1576, 3152, 7880, 15760, 200000]

labels = ['E','D','C','B','A']