本文介绍了使用anda as.date_range()生成多个日期时间,每周两个日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用pd.date_range(start_date, end_date, freq='W-MON')
在start_date=2017-01-01
和end_date=2017-12-31
之间的每个星期一生成每周频率的日期时间,这意味着每月大约生成4个日期时间。如何改为每月生成8个日期时间,即每周生成2个日期时间,但在一周中的不同日期,例如周一和周六或周日以外的任何其他日子?
推荐答案
至少有两种方法可以实现这一点:
1)您可能可以选择与一周中不同日期对应的每周频率,并从中提取union
,这将很好地对索引进行排序并将其追加。
start_date = "2017-01-01"
end_date = "2017-12-31"
d1 = pd.date_range(start_date, end_date, freq="W-MON")
d2 = pd.date_range(start_date, end_date, freq="W-TUE")
d1.union(d2)
2)更简单的方法是创建与额外的
Day
相对应的偏移量。然后执行相同的union
操作。
from pandas.tseries.offsets import Day
d1.union(d1 + Day(1))
两种方法都会产生:
DatetimeIndex(['2017-01-02', '2017-01-03', '2017-01-09', '2017-01-10',
'2017-01-16', '2017-01-17', '2017-01-23', '2017-01-24',
'2017-01-30', '2017-01-31',
...
'2017-11-27', '2017-11-28', '2017-12-04', '2017-12-05',
'2017-12-11', '2017-12-12', '2017-12-18', '2017-12-19',
'2017-12-25', '2017-12-26'],
dtype='datetime64[ns]', length=104, freq=None)
这篇关于使用anda as.date_range()生成多个日期时间,每周两个日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!