检查日期是否为 pandas 数据框中的营业日期
Check if a date is a business date within a pandas dataframe
我已经检查了 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
我想你需要 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
我已经检查了 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
我想你需要 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