1

我有一个 DateTimeIndex 的日期数据框,如下所示:

pd.DataFrame(['01-20-2017']*len(pd.date_range('01-01-2017', '01-30-2017')), columns=['Dates'], index=pd.date_range('01-01-2017', '01-30-2017'))

我想添加一个列来计算日期列中的日期与 DateTimeIndex 中的日期之间的 BUSINESS DAYS 差异。

当我最初认为这将是直截了当的时候,我很难做到这一点......

4

1 回答 1

1

使用np.busday_count()

df = pd.DataFrame({'begin' : pd.date_range('01-01-2017', '01-30-2017'), 'end' :  ['01-20-2017']*len(pd.date_range('01-01-2017', '01-30-2017'))}) 
df['begin'] = pd.to_datetime(df['begin'])
df['end'] = pd.to_datetime(df['end'])
df['diff'] = df.apply(lambda row: np.busday_count(row['begin'], row['end']),axis=1)

    begin   end diff
0   2017-01-01  2017-01-20  14
1   2017-01-02  2017-01-20  14
2   2017-01-03  2017-01-20  13
3   2017-01-04  2017-01-20  12
4   2017-01-05  2017-01-20  11
于 2017-08-21T12:27:49.150 回答