可以通过以下步骤实现:
以下是一个示例代码:
import pandas as pd
import numpy as np
from datetime import datetime
# 创建示例数据
data = {'Date1': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'],
'Date2': ['2022-01-01', '2022-01-03', '2022-01-05', '2022-01-07', '2022-01-09']}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['Date1'] = pd.to_datetime(df['Date1'])
df['Date2'] = pd.to_datetime(df['Date2'])
# 自定义函数计算工作日数
def count_workdays(start_date, end_date):
dates = pd.bdate_range(start_date, end_date)
workdays = np.isin(dates, dates.weekday < 5)
return np.count_nonzero(workdays)
# 应用自定义函数计算工作日数
df['Workdays'] = df.apply(lambda row: count_workdays(row['Date1'], row['Date2']), axis=1)
print(df)
输出结果如下:
Date1 Date2 Workdays
0 2022-01-01 2022-01-01 1
1 2022-01-02 2022-01-03 1
2 2022-01-03 2022-01-05 3
3 2022-01-04 2022-01-07 4
4 2022-01-05 2022-01-09 5
在这个示例中,我们创建了一个包含两个日期列的dataframe,并使用自定义函数计算了两个日期之间的工作日数,并将结果存储在新的列中。
领取专属 10元无门槛券
手把手带您无忧上云