熊猫目前允许您将工作日添加到给定日期datetime.today() + 3*BDay()
。我想延长一个营业日的想法,以排除假期和周末的给定日期索引。这可能将一个DateIndex合并到一个偏移量中吗?带有假日日历的熊猫日期补偿
3
A
回答
1
目前我认为你需要创建一个自定义的子类。您需要覆盖apply
和onOffset
方法来考虑您的假期日历。
最终,我们应该在business-X频率中添加一个可选的假期日历参数。我做了一个GitHub的问题,以保持它的轨道:https://github.com/pydata/pandas/issues/2301
3
的CustomBusinessDay类现在已经合并到大熊猫即将0.12版本,你就可以做一些类似如下:
>>> from pandas.tseries.offsets import CustomBusinessDay
>>>
>>> # As an interesting example, let's look at Egypt where
>>> # a Friday-Saturday weekend is observed.
>>> weekmask_egypt = 'Sun Mon Tue Wed Thu'
>>>
>>> # They also observe International Workers' Day so let's
>>> # add that as a holiday for a couple of years
>>> holidays = ['2012-05-01', datetime(2013, 5, 1), np.datetime64('2014-05-01')]
>>>
>>> bday_egypt = CustomBusinessDay(holidays=holidays, weekmask=weekmask_egypt)
>>> dt = datetime(2013, 4, 30)
>>> print dt + 2 * bday_egypt
2013-05-05 00:00:00
>>>
>>> dts = date_range(dt, periods=5, freq=bday_egypt).to_series()
>>> print dts
2013-04-30 2013-04-30 00:00:00
2013-05-02 2013-05-02 00:00:00
2013-05-05 2013-05-05 00:00:00
2013-05-06 2013-05-06 00:00:00
2013-05-07 2013-05-07 00:00:00
Freq: C, dtype: datetime64[ns]
>>>
>>> print Series(dts.weekday, dts).map(Series('Mon Tue Wed Thu Fri Sat Sun'.split()))
2013-04-30 Tue
2013-05-02 Thu
2013-05-05 Sun
2013-05-06 Mon
2013-05-07 Tue
dtype: object
HTH
相关问题
- 1. php日期补偿
- 2. 大熊猫假期日历规则美国选举日
- 3. 假期或假期日历
- 4. 带有过期日期的新日历的PHP日历
- 5. 熊猫pivot_table日期
- 6. 熊猫 - 按日期
- 7. 熊猫:按日期
- 8. 用熊猫创建交易假期日历
- 9. 带有标记日期的Jquery日历
- 10. 流星延迟补偿和日期()
- 11. 查找日期与大熊猫日期列的日期差异
- 12. 带有任务日历的PHP bugtracker(从日期到日期等)
- 13. 熊猫假日假日名称,以数据帧
- 14. 熊猫日期时间与Julian日
- 15. 蟒蛇日历假期
- 16. 熊猫列日期转换
- 17. 熊猫dataframe转换日期
- 18. 熊猫:慢日期转换
- 19. 熊猫:有日期的列表,并DateTimeIndex
- 20. 带日期时间的PHP日历类
- 21. 带日历的日期字段Django
- 22. 我的日历的日历日期为
- 23. 设置带日历或日期时间的日期
- 24. 重建大熊猫数据框以填补缺失的日期
- 25. 带有日期
- 26. 将日期的熊猫列转换为日期
- 27. 从Google日历导入时,D日历日期有错误的日期?
- 28. 具有自动对焦和最短日期的双日期日历日历
- 29. 日历日期转换为行与假期与状态更新
- 30. 熊猫到日期和星期
如果所有偏移量而不仅仅是工作日,我可以看到该功能更有用。剩下的不多,但还有几个地方还在周六考虑一个工作日。因此,在这种情况下,排除星期日和节假日的事情是必要的。 – rhaskett
@rhaskett我在Github上为这个问题贡献了一些代码。看看它是否符合你的需求。 – snth
巧妙地使用numpy。当它遇到生产时我会尝试一下。谢谢 – rhaskett