Я пытаюсь вернуть день недели (т. Е. Понедельник = 1, вторник = 2 и т. Д. c) на основе столбца даты («Posting_date»). Я попытался для l oop, но ошибся:
#First date of table was a Sunday (1 March 2019) => so counter starts at 6
posting_df3['Day'] = (posting_df3['Posting_date'] - dt.datetime(2019,3,31)).dt.days.astype('int16')
# Start counter on the right date (31 March 2019 is a Sunday)
count = 7
for x in posting_df3['Day']:
if count != 7:
count = 1
else:
count = count + 1
posting_df3['Day'] = count
Не уверен, есть ли другие способы сделать это. Прикрепленное изображение структуры моей базы данных:
level_0 Posting_date Reservation date Book_window ADR Day
0 9 2019-03-31 2019-04-01 -1 156.00 0
1 25 2019-04-01 2019-04-01 0 152.15 1
2 11 2019-04-01 2019-04-01 0 149.40 1
3 42 2019-04-01 2019-04-01 0 141.33 1
4 45 2019-04-01 2019-04-01 0 159.36 1
... ... ... ... ... ... ...
4278 739 2020-02-21 2019-04-17 310 253.44 327
4279 739 2020-02-22 2019-04-17 310 253.44 328
4280 31 2020-03-11 2019-04-01 345 260.00 346
Окончательный результат должен быть 2019-03-31. Столбец Day должен возвращать 7, поскольку это воскресенье, а столбец Day 2019-04-01 должен возвращать 1, так как его Понедельник и др. c