bdate_range(start_day, end_day,freq='d')
或 date_range(start_day, end_day)
# -*- coding: utf-8 -*-
"""
Created on Thu Mar 19 20:16:03 2020
@author: DELL
"""
def ALLday_1():
import pandas as pd
e = pd.bdate_range('20200319', '20200326',freq='d')
#bdate_range 6
#date_range 8
print (e)
minutes = len(e)
print(minutes)
ALLday_1()
def ALLday_2():
import pandas as pd
e = pd.date_range('19/3/2020', '26/03/2020',freq='d')
#bdate_range 6
#date_range 8
print (e)
minutes = len(e)
print(minutes)
ALLday_2()
def ALLday_3():
import pandas as pd
e = pd.date_range('2020-03-19', '2020-03-26')
#bdate_range 6
#date_range 8
print (e)
minutes = len(e)
print(minutes)
ALLday_3()
运行结果:
runfile('C:/Users/DELL/Desktop/untitled0.py', wdir='C:/Users/DELL/Desktop')
DatetimeIndex(['2020-03-19', '2020-03-20', '2020-03-21', '2020-03-22',
'2020-03-23', '2020-03-24', '2020-03-25', '2020-03-26'],
dtype='datetime64[ns]', freq='D')
8
DatetimeIndex(['2020-03-19', '2020-03-20', '2020-03-21', '2020-03-22',
'2020-03-23', '2020-03-24', '2020-03-25', '2020-03-26'],
dtype='datetime64[ns]', freq='D')
8
DatetimeIndex(['2020-03-19', '2020-03-20', '2020-03-21', '2020-03-22',
'2020-03-23', '2020-03-24', '2020-03-25', '2020-03-26'],
dtype='datetime64[ns]', freq='D')
8
总结:bdate_range和date_range这两个函数都可以计算工作日和所有日期,关键取决于freq参数。
(1)bdate_range 的freq参数默认是b,也就是businesstime工作日;如果要用bdate_range 计算所有日期必须限制freq是d。
(2)date_range的freq参数默认是d,也就是day所有日期;如果要用bdate_range 计算所有日期必须限制freq是b。
b和d都是跟day维度的,所以从3月19号到3月26号,共包含:19、20、21、22、23、24、25、26八天,其中工作日有6天。