检查日期是否是pandas数据框中的营业日期

时间:2018-03-26 01:49:17

标签: python pandas date dataframe date-conversion

我已经在python问题中检查了工作日,但无法弄清楚如何解决以下问题。

我想检查某个日期是营业日期,周末或假日,如果是,我想在下一个工作日之前添加天数,并在下面提供的示例中添加新列:

我有以下pandas数据帧:

    date    
0    11/4/17  # Saturday
1    11/8/17    
2   11/16/17    
3   11/17/17    
4   11/19/17  # Sunday
5   11/22/17    
6   11/23/17    

然后我想创建一个包含所有营业日期的新列x['date_business'],如下例所示:

    date    date_business
0    11/4/17     11/6/17
1    11/8/17     11/8/17
2   11/16/17    11/16/17
3   11/17/17    11/17/17
4   11/19/17    11/20/17
5   11/22/17    11/22/17
6   11/23/17    11/23/17

1 个答案:

答案 0 :(得分:1)

我认为您需要to_datetime + BDay

from pandas.tseries.offsets import *
df.date=pd.to_datetime(df.date)# convert your datetime into pandas
df['New']=np.where(df.date.dt.weekday_name.isin(['Saturday','Sunday']),df.date+BDay(1),df.date)

df
Out[1118]: 
        date        New
0 2017-11-04 2017-11-06
1 2017-11-08 2017-11-08
2 2017-11-16 2017-11-16
3 2017-11-17 2017-11-17
4 2017-11-19 2017-11-20
5 2017-11-22 2017-11-22
6 2017-11-23 2017-11-23