python 节假日_Python区分工作日、周末、法定假日的方法
Python区分工作日、周末、法定假日的方法
2019-10-14 19:50:56 来源: 晴天小雨
0
摘要:工作中由于需要按工作日、周末的维度进行统计分析,故需要对给定的一段时间进行工作日、周末、法定假日的标记,对其解决方法进行记录,以便日后复用。
法定假日标记说明
法定假日的标记需要使用到第三方库,即workalendar
直接pip安装即可:pip install workalendar
需要注意是的,由于这个库的法定假日只是配置了今年,如果下年也要使用这个库,需要手动进行配置,或者查看官网是否进行对法定假日进行了更新,然后决定是否同步即可。
标记法定假日
from workalendar.asia import China
def cal_festival(year_list):
cal = China()
date_list = []
for year in year_list:
for x, v in cal.holidays(year):
date_list.append([str(x), v])
# 没有的收集的假日,手动添加
date_list.append(['2019-05-04', 'Labour Day Holiday'])
df = pd.DataFrame(data=date_list, columns=['date', 'festival'])
return df
标记工作日、周末
def date_to_week(start_time, end_time):
# 把时间列标准化时间格式
df = pd.DataFrame()
df['date'] = pd.date_range(start=start_time, end=end_time)
# 1-5表示工作日,6-7表示周末
df['day_of_week'] = df['date'].dt.dayofweek + 1
df['date'] = df['date'].map(lambda x: x.strftime('%Y-%m-%d'))
return df
标记工作日、周末,过滤法定假日
if __name__ == '__main__':
start_date = "2019-09-01"
end_date = "2019-09-30"
df_festival = cal_festival([2019])
date_festival_list = df_festival["date"].tolist()
df_date = date_to_week(start_date, end_date)
df_filter_date = df_date[~df_date["date"].isin(date_festival_list)].copy()
print(df_filter_date)
标记工作日、周末、法定假日
if __name__ == '__main__':
start_date = "2019-09-01"
end_date = "2019-09-30"
df_festival = cal_festival([2019])
df_date = date_to_week(start_date, end_date)
df_filter_date = pd.merge(df_date, df_festival, on=["date"], how="left")
print(df_filter_date)
收藏
已收藏取消收藏
登录发表你的评论
0条评论
python 节假日_Python区分工作日、周末、法定假日的方法相关推荐
- python 节假日_python判断工作日,节假日
python判断工作日,节假日 发布时间:2020-09-07 09:37:20编辑:admin阅读(1017) 一.概述 最近在做数据分析,需要判断一个日期是否为工作日,节假日. 找到一个现成的插件 ...
- python 重载_python模块重载的五种方法
环境准备 新建一个 foo 文件夹,其下包含一个 bar.py 文件 bar.py 的内容非常简单,只写了个 print 语句 只要 bar.py 被导入一次,就被执行一次 print 禁止重复导入 ...
- python 动态_python实现动态创建类的方法分析
本文实例讲述了python实现动态创建类的方法.分享给大家供大家参考,具体如下: python作为动态语言,如何在运行时动态创建类呢(python Creating classes dynamical ...
- python参数化_Python unittest 简单实现参数化的方法
Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确. 引用Stack Overflow的一个答案, "单元测试应该是独立的,没有 ...
- python 封装_python接口自动化学习笔记(封装方法用于读取excel)
本文是为难得干货文章 (是位大佬所写哦) 大家好,我是测试君. 下面分享一波Python接口自动化文章: 本篇是使用xlrd实现的对excel的数据进行读取,xlrd网上demo很多,不做过多叙述,下 ...
- 一元二次方程python脚本_Python实现求解一元二次方程的方法示例
本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac的大小 具体计算代码如下: # -*- co ...
- python set |_Python事件类| set()方法与示例
python set | Python Event.set()方法 (Python Event.set() Method) set() is an inbuilt method of the Even ...
- python 示例_Python日历类| yeardayscalendar()方法与示例
python 示例 Python Calendar.yeardayscalendar()方法 (Python Calendar.yeardayscalendar() Method) Calendar. ...
- python 示例_Python TextCalendar类别| pryear()方法与示例
python 示例 Python TextCalendar.pryear()方法 (Python TextCalendar.pryear() Method) pryear() method is an ...
最新文章
- 四代 DNA 测序技术简述*
- 深层上下文化的单词表示
- UA PHYS515 电磁理论I 麦克斯韦方程组基础3 麦克斯韦方程的势能形式
- 卷积神经网络(CNN)小结
- Spark笔记——技术点汇总
- Django框架——中间件
- qnx 镜像文件_QNX工控机系统恢复工具-赤兔QNX工控机系统恢复软件下载10.2官方版-西西软件下载...
- 网页中常说的‘焦点’是什么意思
- 建立windows文件夹快捷方式
- 【人工智能】一文读懂人脸识别技术
- 亚马逊结算一览(C#项目)
- 程序设计C 实验六 结构体 题目四 偷菜时间表
- 动态规划算法解Travelling Salesman Problem(TSP)问题
- Linux单片机串口通信总结
- 第2章_7 判断某整数是正整数、负整数还是零 (10 分)
- 程序员可迁移技能的培养
- 对this.name=name的理解
- MySQL表中的联合查询
- Lemon评测机的使用
- 你的压力狗狗懂,通过闻味就知道!英国学者做实验论证,专门收集人做数学题时的气味...