【问题标题】:Check if a date is a business date within a pandas dataframe检查日期是否是熊猫数据框中的营业日期
【发布时间】:2018-09-04 02:11:15
【问题描述】:

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

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

我有以下熊猫数据框:

    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

【问题讨论】:

    标签: python pandas date dataframe date-conversion


    【解决方案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
    

    【讨论】:

    猜你喜欢
    • 2019-07-07
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 2018-07-11
    相关资源
    最近更新 更多