首页 > 解决方案 > 如何在熊猫中获取两个日期之间的工作日数

问题描述

我在数据框中有以下列,我想在此数据框的末尾添加一列,该列包含从今天(6/24)到前一天的工作日。

Bday() 函数似乎没有这种能力。

Date
2019-6-21
2019-6-20
2019-6-14

我正在寻找如下所示的结果:

Date         Business days
2019-6-21      1
2019-6-20      2
2019-6-14      6

除了进行个人操作或使用日期时间库之外,有没有一种简单的方法可以做到这一点

标签: pythonpandasdataframedatetime

解决方案


使用np.busday_count

# df['Date'] = pd.to_datetime(df['Date']) # if needed
np.busday_count(df['Date'].dt.date, np.datetime64('today'))
# array([1, 2, 6])

df['bdays'] = np.busday_count(df['Date'].dt.date, np.datetime64('today'))
df
        Date  bdays
0 2019-06-21      1
1 2019-06-20      2
2 2019-06-14      6

推荐阅读