Есть ли способ сделать так, чтобы частота включала рабочие дни, но без (США) выходных в Python? - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь сгенерировать 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 ]

2 голосов
/ 13 мая 2019

Вот, пожалуйста. все выходные будут перенесены из обычного рабочего дня.

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 голосов
/ 13 мая 2019

Проверьте с помощью bdate_range с вашим списком самостоятельно определяемых праздников (yourlist)

pd.bdate_range(start='2017-1-1', end='2018-1-1',holidays = yourlist)
1 голос
/ 13 мая 2019

Pandas поддерживает пользовательские праздники, а также имеет встроенный USFederalHolidayCalendar, который, вероятно, отвечает вашим потребностям.

Вы можете найти больше здесь:

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

Прокрутите вниз до праздников / календарей праздников в объектах DateOffset

...