Кодировщик меток не преобразует str в int - PullRequest
0 голосов
/ 08 ноября 2019
col = ['date','age','race', 'sex','procedure1', 'procedure2', 'procedure3', 'a_diag', 'p_diag','s_diag1','s_diag2', 's_diag3', 's_diag4', 's_diag5']

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
for i in col:
    df[i] = le.fit_transform(df[i].astype('object'))

Для приведенного выше кода я получаю следующую ошибку:

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

1 Ответ

0 голосов
/ 08 ноября 2019

Я бы предложил вам сначала выполнить:

df.dtypes

, чтобы проверить, какие столбцы уже являются числовым столбцом, вывод должен выглядеть следующим образом:

date object
age int32

Я бы исключилвсе числовые столбцы, то из вашего цикла. Затем измените код цикла на:

 df[i] = le.fit_transform(df[i].astype('str'))

Если по-прежнему возникает ошибка, проверьте это: TypeError: '<=' не поддерживается между экземплярами 'str' и 'int' </a>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...