У меня есть пример данных, как показано ниже:
date Deadline
2018-08-01
2018-08-11
2018-09-18
2018-12-08
2018-12-18
Я хочу заполнить столбец крайнего срока условиями, описанными в коде как «1 DL», «2 DL», «3 DL» и т. Д.
Создание нового столбца на основе столбца даты в python.
Это выдало ошибку:
('The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().', 'occurred at index 0')
Я пробовал, как показано ниже:
df['date'] = pd.to_datetime(df['date'], format = "%y-%m-%d").dt.date
def dead_line(df5):
if((df5['date'] >= datetime.date(2018, 8, 1)) & (df['date'] <= datetime.date(2018, 9, 14))):
return "1 DL"
elif ((df5['date'] >= datetime.date(2018, 9, 15)) & (df5['date'] <= datetime.date(2018, 10, 17))):
return "2 DL"
elif ((df5['date'] >= datetime.date(2018, 10, 18)) & (df5['date'] <= datetime.date(2018, 12, 5))):
return "3 DL"
elif ((df5['date'] >= datetime.date(2018, 12, 6)) & (df5['date'] <= datetime.date(2019, 2, 1))):
return "4 DL & EDL 2"
df['Deadline'] = df.apply(dead_line, axis = 1)
Ожидаемый результат:
date Deadline
2018-08-01 1 DL
2018-09-16 2 DL
2018-12-07 3 DL
и т. Д.