编写一个 Python 函数来计算从开始日期和结束日期范围开始的总工作日数
pythonpandasserver side programmingprogramming
假设,您有一个 date_range 日期,总工作日数的结果是,
日期为: DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-06', '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10', '2020-01-13', '2020-01-14', '2020-01-15', '2020-01-16', '2020-01-17', '2020-01-20', '2020-01-21', '2020-01-22', '2020-01-23', '2020-01-24', '2020-01-27', '2020-01-28', '2020-01-29', '2020-01-30', '2020-01-31'], dtype='datetime64[ns]', freq='B') 总天数:23
解决方案 1
将函数定义为 business_days()
将 pd.bdate_range() 函数起始值设置为 ‘2020-01-01’ 并将结束值设置为 ‘2020-02-02’并将其保存为日期,
dates = pd.bdate_range('2020-01-01','2020-02-02')
使用 len(dates) 计算天数
len(dates)
示例
让我们检查以下代码以更好地理解 −
import pandas as pd def business_days(): dates = pd.bdate_range('2020-01-01','2020-02-02') print("总天数:",len(dates)) business_days()
输出
总天数:23
解决方案 2
定义一个函数
将 pd.bdate_range() 函数的起始值设置为 ‘2020-01-01’,结束值为 ‘2020-02-02’并将其保存为日期,
dates = pd.bdate_range('2020-01-01','2020-02-02')
将计数设置为 0 并创建 for 循环以访问日期中的所有值并将计数值本身增加 1
count = 0 for i in dates: count = count + 1
最后,打印计数。
示例
import pandas as pd def business_days(): dates = pd.bdate_range('2020-01-01','2020-02-02') count = 0 for i in dates: count = count + 1 print("总天数:",count) business_days()
输出
总天数:23