首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算两个dataframe列之间的工作日

可以通过以下步骤实现:

  1. 首先,需要导入所需的库和模块,包括pandas、numpy和datetime等。
  2. 确保两个dataframe中的日期列是正确的数据类型,可以使用pandas的to_datetime函数将其转换为日期类型。
  3. 创建一个新的列来存储两个日期之间的工作日数。可以使用pandas的apply函数和自定义的函数来实现。
  4. 自定义的函数中,可以使用pandas的bdate_range函数来生成两个日期之间的工作日日期范围。然后,使用numpy的is_busday函数来判断每个日期是否为工作日,返回一个布尔值。
  5. 统计工作日的数量,可以使用numpy的count_nonzero函数来计算布尔数组中为True的元素个数。
  6. 最后,将工作日数存储到新的列中,并可以根据需要进行进一步的分析或处理。

以下是一个示例代码:

代码语言:txt
复制
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)

输出结果如下:

代码语言:txt
复制
       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,并使用自定义函数计算了两个日期之间的工作日数,并将结果存储在新的列中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7分0秒

159 - 尚硅谷 - SparkSQL - 核心编程 - DataFrame - RDD之间的转换

4分50秒

163 - 尚硅谷 - SparkSQL - 核心编程 - DataSet & DataFrame & RDD之间的关系

9分37秒

4、Openstack/4、尚硅谷-Linux云计算-虚拟化技术 - Openstack/④、keystone/38、尚硅谷-Linux云计算- 虚拟化技术 - Keystone 组件之间的沟通方式

5分55秒

day00_编程入门/10-尚硅谷-Java语言基础-计算机史上的两个鼻祖

5分55秒

day00_编程入门/10-尚硅谷-Java语言基础-计算机史上的两个鼻祖

5分55秒

day00_编程入门/10-尚硅谷-Java语言基础-计算机史上的两个鼻祖

1分10秒

Adobe国际认证教程指南|如何在 Premiere Pro 中处理多个项目?

13分45秒

CPU的ISA指令集架构看CISC和RISC之争!【AI芯片】芯片基础02

1.4K
4分40秒

【技术创作101训练营】Excel必学技能-VLOOKUP函数的使用

13分36秒

2.17.广义的雅可比符号jacobi

16分36秒

Google TPU芯片系列概览和历史发展 #AI芯片 #TPU系列

3.1K
8分23秒

047.go的接口的继承

领券