我目前有一个程序设置可以以两种不同的方式运行。一种方法是在指定的时间范围内运行,另一种方法是每天运行。但是,当我将其设置为每天运行时,我只希望它在工作日继续运行。现在,根据研究,我发现您可以像这样使用 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() 来做我正在寻找的事情,但在我看来会很草率而且不直观。我觉得必须有一个更简单的解决方案。有什么建议吗?
原文由 Justin 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于
len
的pd.bdate_range()
告诉我们在提供的日期范围内有多少个工作日,我们可以将其转换为bool
的范围一天是一个工作日: