我目前有一个程序设置可以运行两种不同的方式。一种方法是在指定的时间范围内运行,另一种方法是每天运行。但是,当我将其设置为每天运行时,我只希望它在工作日继续运行。现在,通过研究,我发现您可以像这样使用Pandas遍历工作日:
start = 2016-08-05
end = datetime.date.today().strftime("%Y-%m-%d")
for day in pd.bdate_range(start, end):
print str(day) + " is a business Day"
当我在指定的时间段内运行程序时,这非常有用。
但是,当我想让程序每天运行时,我不太想知道如何测试某一天是否是营业日。基本上我想做这样的事情:
start = datetime.date.today().strftime("%Y-%m-%d")
end = datetime.date.today().strftime("%Y-%m-%d")
if start == end:
if not Bdate(start)
print "Not a Business day"
我知道我可能可以设置pd.bdate_range()来执行我想要的操作,但是我认为这会很草率且不直观。我觉得必须对此有一个更简单的解决方案。有什么建议吗?
由于len
of可以pd.bdate_range()
告诉我们在所提供的日期范围内有多少个工作日,因此我们可以将其强制转换为,bool
以确定一天中的某个范围是否是一个工作日:
def is_business_day(date):
return bool(len(pd.bdate_range(date, date)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句