这里有一种方法可以只使用datetime和calendar。不过,这是相当长的,小心。在
首先,我们需要一种方法来生成所需的时间序列
月份和季度有点棘手,例如,哪个日期是1月31日之后的一个月?
但方法可以是这样的:
为了测试,我包含了与日期相关的随机值的生成。在from datetime import datetime, timedelta, date
import calendar
from random import random
def makeseries(startdate):
datesA = [startdate] # collect the dates in this list
valsA = [random()] # and the randomly generated 'data' in this one
date = startdate
# add days
step = timedelta(1)
while date - startdate <= timedelta(91):
date += step
datesA += [date]
valsA += [random()]
# add months
step = timedelta(30)
while date - startdate <= timedelta(2*365):
if date.month in [1,3,5,7,8,10,12]:
date += timedelta(1)