如何在Python中使用 Pandas 检查这一天是否是工作日?
Python是一种非常流行的语言,因为它几乎适用于任何类型的数据科学任务。而且 Pandas 是流行的基于 python 的数据分析工具包之一,它还提供pandas.bdate_range()函数来返回固定频率的 DatetimeIndex。此函数返回固定频率的 DatetimeIndex,默认频率为工作日(周一至周五)。
Syntax: pandas.bdate_range(start=None, end=None, periods=None, freq=’B’, tz=None, normalize=True, name=None, weekmask=None, holidays=None, closed=None, **kwargs)
Parameters :
start : string or datetime-like, default None.
end : string or datetime-like, default None.
periods : integer, default None.
freq : string or DateOffset, default ‘B’ (business daily).
tz : string or None.
normalize : bool, default False
name : str, default None
weekmask : str or None, default None
holidays : list-like or None, default None
方法 :
- 导入 Pandas 模块
- 创建一个返回布尔值的参数函数
- 使用 pd.bdate_range() 内部函数检查给定日期是否返回布尔值
- 检查 boolean 是否为 False 则日期属于工作日 如果 boolean 为 true 则不是工作日
下面是实现。
Python3
# importing Pandas module
import pandas as pd
# Creating a Function
def check_weekday(date):
# computing the parameter date
# with len function
res=len(pd.bdate_range(date,date))
if res == 0 :
print("This is weekend")
else:
print("This is your working day")
# user input
date = "2020-08-17"
check_weekday(date)
date = "2020-08-16"
check_weekday(date)
输出 :
This is your working day
This is weekend