Я сделал класс, описывающий календарь (данные были загружены из папки на компьютере).
class Calendar(AbstractHolidayCalendar):
ts = pd.read_csv('./data1.csv', usecols=['Y/M','Jun','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Okt','Nov','Dec'], index_col=['Y/M'], parse_dates=True)
dates = pd.date_range(start=ts.index[0], end=(ts.index[ts.index.size-1] + pd.Timedelta('364D')), freq='D')
start_date = dates[0]
end_date = dates[dates.size-1]
months = [ts.Jun, ts.Feb, ts.Mar, ts.Apr, ts.May, ts.Jun, ts.Jul, ts.Aug, ts.Sep, ts.Okt, ts.Nov, ts.Dec]
Special = []
for i in range (end_date.year-start_date.year+1):
for j in range (12):
d = [int(k) for k in months[j][i].replace('*','').replace('+','').split(',')]
tmp = [datetime.datetime(start_date.year+i, j+1, d[z]) for z in range (len(d)-1)]
Special += tmp
rules = [Holiday('Hw{}'.format(i), year=Special[i].year, month=Special[i].month, day=Special[i].day) for i in range (len(Special)-1)]
Start_date, end_date и правила являются существенными переменными в таком классе (не так ли?) Я использую start_date в l oop:
tmp = [datetime.datetime(start_date.year+i, j+1, d[z]) for z in range (len(d)-1)]#3 row at the bottom
Но ошибка
name 'start_date' is not defined
происходит с указанной строкой. Я никак не могу это исправить и понять, почему это происходит. Может быть, вы знаете, как это исправить?