Ошибка типа: "не поддерживается между экземплярами 'str' и 'float"? - PullRequest
0 голосов
/ 09 июня 2019

Мне не удалось сгруппировать значения в столбце "MinTemp" в 3 группы и обновить кадр данных.

Значения в столбце «MinTemp» находятся в диапазоне от -8,2 до 33,9.
Я хочу иметь только 3 группы: <= 10.0 (mintp1), > 10.0 && <= 22.0 (mintp2) и > 22.0 (mintp3).

from collections import Counter

col         = 'MinTemp'

conditions  = [ data_mod[col] > 22.0, (data_mod[col] > 10.0) & (data_mod[col] <= 22.0), data_mod[col] <= 10.0 ]

choices     = [ 'mintp3', 'mintp2', 'mintp1' ]
data_mod["MinTemp"] = np.select(conditions, choices, default='neutral')

Counter(MinTemp)

TypeError: '>' не поддерживается между экземплярами 'str' и 'float'

1 Ответ

1 голос
/ 09 июня 2019

Используйте pd.to_numeric для преобразования строковых значений в числовые значения, допускающие сравнение:

df[col] = pd.to_numeric(df[col])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...