Преобразование цен на жилье в категорию с помощью логики c с использованием python - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь сопоставить некоторые категории цен на жилье, чтобы наложить их на карту, чтобы показать разницу в ценах на окрестности.

Когда я складываю эту логику c, чтобы связать различные цены на жилье , Я получаю TypeError:

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

Код ниже.

level = []
for i in range(0,len(data_process)):
    if (data_process['HousingCost'][i] < 150000):
        level.append("Low Level Cost")
    elif (data_process['HousingCost'][i] >= 150001 and data_process['HousingCost'][i] < 300000):
        level.append("Mid-1 Level Cost")
    elif (data_process['HousingCost'][i] >= 300001 and data_process['HousingCost'][i] < 450000):
        level.append("Mid-2 Level Cost")
    elif (data_process['HousingCost'][i] >= 450001 and data_process['HousingCost'][i] < 600000):
        level.append("High-1 Level Cost")
    else:
        level.append("High-2 Level Cost")   

data_process['Level_labels'] = level
data_process.head()

I Я не уверен, почему я получаю эту ошибку типа, потому что я думаю, что я правильно структурировал вещи.

Могу ли я оказать некоторую помощь в исправлении этой ошибки TypeError?

Спасибо!

1 Ответ

0 голосов
/ 02 мая 2020

Ошибка возникает из-за того, что вы пытаетесь сравнить строковое значение с int, возможно потому, что значения, доступные внутри data_process, являются строками.

Попробуйте преобразовать data_process доступные значения в int. Например:

level = []
for i in range(0,len(data_process)):
    housing_cost = int(data_process['HousingCost'][i])
    if housing_cost < 150000:
        level.append("Low Level Cost")
    elif housing_cost >= 150001 and housing_cost < 300000:
        level.append("Mid-1 Level Cost")
    elif housing_cost >= 300001 and housing_cost < 450000:
        level.append("Mid-2 Level Cost")
    elif housing_cost >= 450001 and housing_cost < 600000:
        level.append("High-1 Level Cost")
    else:
        level.append("High-2 Level Cost")   
...