微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用pandas.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)更简单的方法是创建一个与额外日相对应的偏移量.其次是同一个联盟行动.

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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐