Я хотел бы создать новый столбец, в котором будет указано, является ли запись опубликованной c праздничной или нет. Это должно выглядеть примерно так:
datetime holiday
0 2019-01-01 22:00:00 public holiday
1 2019-01-01 23:00:00 public holiday
2 2019-01-02 00:00:00 non-holiday
3 2019-01-02 01:00:00 non-holiday
4 2019-01-02 02:00:00 non-holiday
Я создал словарь, содержащий все праздники за период, который выглядит примерно так:
public_hol = {'xmas 18': '2018-12-25',
'boxing day 18': '2018-12-25',
'new years 19': '2019-01-01',
'good friday 19': '2019-04-19',
'easter monday 19': '2019-04-22',
'may bank holiday': '2019-05-22',
'may bank holiday2': '2019-05-27',
'xmas 19': '2019-12-25',
'boxing day 19': '2019-12-26',
'new years 20': '2020-01-01'}
И это мой код:
df['holiday'] = df['datetime'].dt.date.map(public_hol).fillna('non-holiday')
Это приводит к новому столбцу, который содержит только NA и, следовательно, имеет только «не выходной» для каждой записи. Я думаю, что проблема связана с тем, как я использую словарь, или мой код не распознает формат даты ... Спасибо за помощь.