Я думаю, что ваша потребность включена в панд.Фактически, вы хотите использовать pandas.bdate_range
или pandas.date_range
с аргументом freq
, установленным на B
(я думаю, что оба более или менее одинаковы).Они создают рабочих дней , то есть они не включают выходные.bdate_range
также позволяет указывать праздничные дни, поэтому я думаю, что он может быть немного более гибким.
>>> import pandas as pd
>>> dates = pd.bdate_range(start='2018-10-25', periods=10) # Start date is a Thursday
>>> print(dates)
DatetimeIndex(['2018-10-25', '2018-10-26', '2018-10-29', '2018-10-30',
'2018-10-31', '2018-11-01', '2018-11-02', '2018-11-05',
'2018-11-06', '2018-11-07'],
dtype='datetime64[ns]', freq='B')
Обратите внимание, как это исключает 27-е (суббота) и 28-е (воскресенье).Если вы хотите указать праздничные дни, вам нужно указать freq='C'
.
Наличие этих дат в отдельных переменных довольно уродливо, но если вы действительно этого хотите, вы можете пойти и распаковать их следующим образом:
>>> day1, day2, day3, day4, day5, day6, day7, day8, day9, day10 = dates