gpt4 book ai didi

python-2.7 - 如何识别从今天(包括今天)到过去和 future (不包括周末)的三个工作日并将它们放入 Pandas 数据框中?

转载 作者:行者123 更新时间:2023-12-03 22:26:14 27 4
gpt4 key购买 nike

我如何确定从今天(包括今天)到过去和 future (不包括周末)的三个工作日并将它们放入数据框中?

示例:今天是 2017 年 1 月 13 日星期五

我想计算 +/- 3 个工作日并将它们放入数据框中

预期输出:

       A
0 01/10/2017
1 01/11/2017
2 01/12/2017
3 01/13/2017
4 01/17/2017
5 01/18/2017
6 01/19/2017

我尝试过这个,但我不能完全得到我需要的东西:

import pandas as pd
from datetime import date, datetime, timedelta
from pandas.tseries.holiday import USFederalHolidayCalendar
from pandas.tseries.offsets import CustomBusinessDay

today = date.today()
plustwo = today + timedelta(days=3)
minustwo = today - timedelta(days=3)
caldr = CustomBusinessDay(calendar=USFederalHolidayCalendar())
df = pd.date_range(minustwo,plustwo,freq=caldr)

当前输出:

>>> df
DatetimeIndex(['2017-01-10', '2017-01-11', '2017-01-12', '2017-01-13'], dtype='datetime64[ns]', freq='C')

解决方案:

>>> pd.date_range(start=today - pd.offsets.BusinessDay(3), end=today + pd.offsets.BusinessDay(3), freq='B')

DatetimeIndex(['2017-01-10', '2017-01-11', '2017-01-12', '2017-01-13',
'2017-01-16', '2017-01-17', '2017-01-18'],
dtype='datetime64[ns]', freq='B')

最佳答案

您可以在 pd.date_rangestartend 参数中包含所需的偏移量,以便日期显示在 +/- 公差范围内指定金额(此处为 3 个工作日)。

from datetime import date
import pandas as pd
from pandas.tseries.offsets import BusinessDay

delta = BusinessDay(3) # offset to +/- 3 days
today = date.today() # datetime.date(2017, 1, 14)
pd.date_range(start=today-delta, end=today+delta, freq='B')

产生:

DatetimeIndex(['2017-01-11', '2017-01-12', '2017-01-13', '2017-01-16',
'2017-01-17', '2017-01-18'],
dtype='datetime64[ns]', freq='B')

关于python-2.7 - 如何识别从今天(包括今天)到过去和 future (不包括周末)的三个工作日并将它们放入 Pandas 数据框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41636421/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com