有没有一种方法可以使频率包含工作日但在Python中没有(美国)假期?

时间:2019-05-13 14:03:32

标签: python pandas date time-series frequency

我正在尝试生成一个pandas.DataFrame,其中包含2017年的所有“交易日”,实际上是工作日减去假日。或者,我可以创建一个list(从另一个pandas.DataFrame,为了参数的缘故被称为“日期”),然后传递它,但不确定如何传递。

下面是我当前生成的代码,但包括假期。

new_fut = pd.DataFrame(pd.date_range(start = '2017-1-1', end = '2018-1-1',  freq = 'b'), columns = ['ds'])

3 个答案:

答案 0 :(得分:2)

bdate_range一起确定您的自定义假期列表(yourlist

pd.bdate_range(start='2017-1-1', end='2018-1-1',holidays = yourlist)

答案 1 :(得分:2)

您在这里。这将占用“自定义工作日”以来的所有假期。

import pandas as pd
from pandas.tseries.holiday import USFederalHolidayCalendar
from pandas.tseries.offsets import CustomBusinessDay
start ='2017-1-1'
end = '2018-1-1'
us_bd = CustomBusinessDay(calendar=USFederalHolidayCalendar())
df=pd.DatetimeIndex(start=start,end=end, freq=us_bd)

df

答案 2 :(得分:1)

Pandas支持自定义假日,并且内置了USFederalHolidayCalendar,可以满足您的需求。

您可以在此处找到更多信息:

  

http://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html

向下滚动到假期/假日日历 在DateOffset对象下