Смещение фрейма данных pandas с датамиPython

Программы на Python
Anonymous
Смещение фрейма данных pandas с датами

Сообщение Anonymous »

Я создал собственный календарь для смещения столбца даты в моем фрейме данных, если эта дата — суббота/воскресенье или праздничный день, как указано в приведенном ниже фрагменте кода.

Код: Выделить всё

import pandas as pd
import numpy as np
from pandas.tseries.offsets import CustomBusinessDay
from pandas.tseries.holiday import Holiday,\
AbstractHolidayCalendar, nearest_workday, previous_friday

Class CustomHolidayCalendar (AbstractHolidayCalendar):

rules = [

Holiday("Republic Day", month=1, day=26, observance-previous_friday),

Holiday("To enable to Banks to close their yearly accounts", month=4, day=1, observance previous_friday),

Holiday ("Labour Day", month=5, day=1, observance=previous_friday),

Holiday("Independence Day/Parsi New Year (Shahenshahi)", month=8, day=15, observance previous_friday),

Holiday("Gandhi Jayanti",month=10, day=2, observance=previous_friday),

Holiday("Christmas", month=12, day=25, observance=previous_friday)
]

holidays = CustomBusinessDay(weekmask='Mon Tue Wed Thu Fri', calendar=CustomHolidayCalendar())

for holiday in holidays.holidays:
print(holiday)
Когда я распечатал праздники, указанные в пользовательском календаре, я увидел, что некоторые праздники, указанные в моем календаре, например 1 мая, 15 августа, 2 октября, 25 декабря, автоматически смещаются на предыдущий день для определенных лет
Ниже приводится фрагмент вывода, который я получаю:
2027-01-26
2027-04-01
14 апреля 2027
30 апреля 2027
13 августа 2027
01 октября 2027
24 декабря 2027
Может кто-нибудь сказать мне, почему это происходит и как это решить?

Подробнее здесь: https://stackoverflow.com/questions/783 ... with-dates

Вернуться в «Python»