Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema com o pd.cut() : '<' not supported between instances of 'int' and 'str'

import pandas as pd 

dados = pd.read_html('https://sportinsider.com.br/atacantes-futebol/')[0]
dados.rename(columns={0:'remover', 1:'Nome', 2:'Gols'}, inplace=True)
del dados['remover']
dados.drop(0)

faixas = [110, 120, 130, 140, 150, 200]
rotulos = ['110 à 120','120 á 130', '130 á 140', '140 à 150', 'mais de 150']
dados_faixas = pd.cut(dados.Gols, faixas, labels=rotulos)

Após a conversão da tabela extraída de um site, tentei separar as quantidades de gols nos intervalos especificados na list faixas. Contudo, durante a execução do código, o script é interrompido reportando o seguinte erro no pd.cut():

** '<' not supported between instances of 'int' and 'str'**

Alguém sabe como posso fazer para tornar os valores correspondentes aos gols do DataFrame em inteiros para possibilitar essa comparação?

1 resposta
solução!

A documentação pd.cut() não permite passar 'dados.Gols' pois é uma series tem que ser um 'array.numpy'. O ideal é que você transforme essa series em um array. Pode-se utilizar esse comando:

import numpy as np
array = np.array([190, 157, 154, 153, 135, 130, 129, 127, 126, 116])

faixas = [110, 120, 130, 140, 150, 200]
rotulos = ['110 à 120','120 á 130', '130 á 140', '140 à 150', 'mais de 150']
dados_faixas = pd.cut(array, faixas, labels=rotulos)
dados_faixas