Pandas定制休息日表演

2024-09-28 05:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

对于大量的日期,我需要计算下一个工作日,在这一天我要计算假期。在

目前,我正在使用类似以下代码的代码,这些代码是我从IPython笔记本上粘贴下来的:

import pandas as pd
from pandas.tseries.holiday import USFederalHolidayCalendar

cal = USFederalHolidayCalendar()
bday_offset = lambda n: pd.datetools.offsets.CustomBusinessDay(n, calendar=cal)

mydate = pd.to_datetime("12/24/2014")
%timeit with_holiday = mydate + bday_offset(1)
%timeit without_holiday = mydate + pd.datetools.offsets.BDay(1)

在我的电脑上,with_holiday线在大约12毫秒内运行;而without_holiday线在~15微秒内运行。在

有没有什么方法可以使bday_offset功能更快?在


Tags: 代码importpandaswithoffsetcalpdwithout
1条回答
网友
1楼 · 发布于 2024-09-28 05:25:48

我认为你通过lambda实现它的方式正在减慢它的速度。考虑这个方法(或多或少直接取自documentaion

from pandas.tseries.offsets import CustomBusinessDay
bday_us = CustomBusinessDay(calendar=USFederalHolidayCalendar())
mydate + bday_us

Out[13]: Timestamp('2014-12-26 00:00:00')

第一部分很慢,但你只需要做一次。第二部分很快。

^{pr2}$

要实现苹果对苹果,以下是我机器上的其他计时:

^{3}$

相关问题 更多 >

    热门问题