У меня есть таблица со списком дней отпуска для разных школ. Пример:
Labor Day Fall Break Veterans Day Random Holiday
DistrictA 9/2 10/14 11/11
DistrictB 9/2 10/13-10/14 11/11 12/17,12/19
Праздники - это либо отдельные даты, либо диапазоны (разделенные дефисом), либо несколько дат (разделенных запятыми).
Я пытаюсь создать массив, в котором учитывая название района и дату, он просто вернется, если это выходной или нет (True / False).
Основы того, что у меня есть:
import pandas as pd
vacation = pd.read_excel("Vacations.xlsx")
v = {}
for index, row in vacation.iterrows():
v[row[0]] = row.values.tolist()[1:]
print(v)
Это создает словарь, в котором ключом является имя района, а значениями являются массив значений временного диапазона (datetime
объект, Timestamp
объект, строка (если диапазон дат или несколько), nan (не #) или NaT (не время)
У меня была одна идея - go просмотреть каждое значение даты и добавить даты в новый список. Например,
'DistrictA': [datetime.datetime(2019,9,2), '10/13-10/15', Timestamp('2019-11-11 00:00:00')]
превратится в
'DistrictA': [datetime.datetime(2019,9,2), datetime.datetime(2019,10,13), datetime.datetime(2019,10,14), datetime.datetime(2019,10,15), datetime.datetime(2019,11,11)]
Но я уверен, что есть гораздо лучший способ. Как лучше всего проверить, является ли данная дата выходным?