小编Pet*_*rDS的帖子

Pandas Dataframe 中两个日期之间的营业时间(包括节假日)

Python 新手用户 - 我正在尝试计算 pandas DataFrame 中两个日期之间的营业时间(给定上午 9 点至下午 5 点、周一至周五工作时间)并排除澳大利亚公共假期。

在过去的几天里,我尝试将很多解决方案组合在一起并将其应用于我的问题,但我遇到了很大的麻烦。

我将发布我当前的迭代,但也会寻求反馈,作为处理整个问题的最佳方式,并了解如何在未来解决这些问题。

我最近的尝试是使用 pandas CDay 然后为澳大利亚日期创建一个自定义假日日历,这一切似乎都有效 - 然后从这一步将其应用到我无法理解的 pandas 日期。我正在使用此https://codereview.stackexchange.com/questions/135142/calculate-working-minutes- Between-two-timestamps/135200#135200 解决方案中的自定义函数来计算日期之间的分钟数,但没有运气。

感谢任何帮助!

import datetime
from pandas.tseries.holiday import Holiday, AbstractHolidayCalendar
from pandas.tseries.offsets import CDay

class HolidayCalendar(AbstractHolidayCalendar):
    rules =[Holiday('New Years Day',year=2016,month=1,day=1),
        Holiday('Australia Day',year=2016,month=1,day=26),
        Holiday('Good Friday',year=2016,month=3,day=25),
        Holiday('Easter Monday',year=2016,month=3,day=28),
        Holiday('ANZAC Day',year=2016,month=4,day=25),
        Holiday('Queens Birthday',year=2016,month=6,day=13),
        Holiday('Christmas Day',year=2016,month=12,day=25),
        Holiday('Boxing Day',year=2016,month=12,day=26),           
        Holiday('New Years Day',year=2017,month=1,day=1),
        Holiday('Australia Day',year=2017,month=1,day=26),
        Holiday('Good Friday',year=2017,month=4,day=15),
        Holiday('Easter Monday',year=2017,month=4,day=17),
        Holiday('ANZAC Day',year=2017,month=4,day=25),
        Holiday('Queens Birthday',year=2017,month=6,day=12),
        Holiday('Christmas Day',year=2017,month=12,day=25),
        Holiday('Boxing Day',year=2017,month=12,day=26),
        Holiday('New Years Day',year=2018,month=1,day=1),
        Holiday('Australia Day',year=2018,month=1,day=26),
        Holiday('Good Friday',year=2018,month=3,day=30), …
Run Code Online (Sandbox Code Playgroud)

python date pandas

6
推荐指数
2
解决办法
5613
查看次数

标签 统计

date ×1

pandas ×1

python ×1