我有一个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'))
我想添加一个列,用于计算Dates列和DateTimeIndex中日期之间的BUSINESS DAYS差异。
我在尝试这样做时遇到了很大的困难,当我原本以为这是直截了当的时候......
答案 0 :(得分:1)
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