1 问题
计算两个日期之间有几个工作日(除周末)、有几天(不除周末)。
2 方法
用python里pandas的函数实现。
start_day: 开始日期20220101
end_day:结束日期
freq:频率,bdate_range函数不带该参数时默认是'b',即工作日。计算工作日时,这个freq固定为B或b或者不带这个参数可以
代码清单 1
代码语言:text
复制
def weekday_1():
import pandas as pd
e = pd.bdate_range('20220319', '20220326',freq='b')
#bdate_range 6
#date_range 8
print (e)
minutes = len(e)
print(minutes)
weekday_1()
def weekday_2():
import pandas as pd
e = pd.bdate_range('19/3/2022', '26/03/2022',freq='B')
#bdate_range 6
#date_range 8
print (e)
minutes = len(e)
print(minutes)
weekday_2()
def weekday_3():
import pandas as pd
e = pd.bdate_range('2022-03-19', '2022-03-26')
#bdate_range 6
#date_range 8
print (e)
minutes = len(e)
print(minutes)
weekday_3()
3 结语
date_range 默认的freq是'd'就是日期的意思,如果不带参数计算出来就是所有的天数,所有如果要用date_range计算工作日,必须要带freq='b'的参数,其他开始日期和结束日期的格式跟bdate_range一样。可以用于计算一段时间(不算周末)的工作日。