Возможно, в вашем DataFrame больше строк, чем уникальных праздников. Для таких проблем вам, вероятно, понадобится l oop где-то, так что лучше l oop для меньшего числа праздников
. Преобразуйте даты в datetime
dtype, и давайте сохраним праздники в отдельный DataFrame, снова с datetime
dtype
import pandas as pd
df['datetime'] = pd.to_datetime(df['datetime'], format='%d.%m.%y %H:%M')
df2 = pd.DataFrame({'Holiday': ['Autumn Half Term Holidays', 'Winter Holidays'],
'start': pd.to_datetime(['2019-10-21', '2019-12-23']),
'end': pd.to_datetime(['2019-10-25', '2020-01-03'])})
Теперь, чтобы определить, является ли что-то выходным, мы проверяем, находится ли дата / время между любым периодов. Карта просто получает ваши метки вместо True / False. Я добавил строку в ваш пример, учитывая ваши праздники, чтобы проиллюстрировать, что он работает.