Я работаю над набором данных, в котором есть столбец, в котором указано, сколько дней понадобилось для получения разрешения на строительство (столбец time_range предоставляет вам эту информацию). Я пытаюсь создать еще один столбец (time_frame), который будет разбивать эти времена утверждения на категории, такие как 1-29 дней, 30 - 59 дней и т. Д. В наборе данных также есть разрешения, в которых было отказано, и я уже заполнил часть столбца time_frame отказано. Что касается остальных записей, я пытаюсь заполнить их созданной категорией.
Когда я запускаю ячейку в блокноте jupyter, она зависает и ничего не выводит. Как мне переписать мой код, чтобы использовать меньше операторов if-else и, возможно, удалить цикл for?
Вот мой код:
for i in range(0,len(df['time_range'])):
if df.loc[i,'time_frame'] != 'denied':
if df.loc[i,'time_range'] == 0.0:
df.loc[i,'time_frame'] = 'instant approval'
elif (df.loc[i,'time_range'] >= 1.0 and df.loc[i,'time_range'] <= 29.0):
df.loc[i,'time_frame'] = '1 - 29 days'
elif (df.loc[i,'time_range'] >= 30.0 and df.loc[i,'time_range'] <= 59.0):
df.loc[i,'time_frame'] = '30 - 59 days'
elif (df.loc[i,'time_range'] >= 60.0 and df.loc[i,'time_range'] <= 89.0):
df.loc[i,'time_frame'] = '60 - 89 days'
elif (df.loc[i,'time_range'] >= 90.0 and df.loc[i,'time_range'] <= 119.0):
df.loc[i,'time_frame'] = '90 - 119 days'
elif (df.loc[i,'time_range'] >= 120.0 and df.loc[i,'time_range'] <= 149.0):
df.loc[i,'time_frame'] = '120 - 150 days'
elif (df.loc[i,'time_range'] >= 150.0 and df.loc[i,'time_range'] <= 179.0):
df.loc[i,'time_frame'] = '150 - 179 days'
else:
df.loc[i,'time_frame'] = '180+ days'