编写一个 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

相关文章