Python Pandas даты загрузки и диапазон дат - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть таблица со списком дней отпуска для разных школ. Пример:

            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)]

Но я уверен, что есть гораздо лучший способ. Как лучше всего проверить, является ли данная дата выходным?

1 Ответ

0 голосов
/ 17 апреля 2020

Похоже, что уже ответил, используя pandas.tseries.holiday { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...