DateTimeIndex与日期列

时间:2017-08-21 12:07:55

标签: pandas datetimeindex

我有一个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差异。

我在尝试这样做时遇到了很大的困难,当我原本以为这是直截了当的时候......

1 个答案:

答案 0 :(得分: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