59 pandas 时间序列-BusinessHour营业时间及自定义营业时间(tcy)
营业时间 2019/1/19
BusinessHour()
提供在营业时间表示BusinessDay
,允许使用特定的开始和结束时间。
pd.tseries.offsets.BusinessHour()#营业时间,允许使用特定的开始和结束时间。默认BusinessHour使用9:00 - 17:00作为营业时间。
BusinessHour将按Timestamp小时频率递增。
如果超过营业时间将剩余的小时数将添加到下一个工作日。
将周六和周日视为假期。用任意假日使用CustomBusinessHour偏移量
导入:
from pandas.tseries.offsets import *
import datetime
实例1:
# 实例1.1:在一个工作日内
bh = BusinessHour() # <BusinessHour: BH=09:00-17:00>
pd.Timestamp('2019-01-18 10:00').weekday()#周五 # 4
pd.Timestamp('2019-01-18 10:00') + bh #加1小时# Timestamp('2019-01-18 11:00:00')pd.Timestamp('2019-01-18 08:00') + bh#Timestamp('2019-01-18 10:00:00')
pd.Timestamp('2019-01-18 09:00') + bh#等价上面#实例1.2:结果在结束时间转到下一个工作日
pd.Timestamp('2019-01-18 16:00') + bh# Timestamp('2019-01-21 09:00:00')#实例1.3:剩余时间加到第二天
pd.Timestamp('2019-01-18 16:30') + bh# Timestamp('2019-01-21 09:30:00')#实例1.4:Adding 2 business hours
pd.Timestamp('2019-01-18 10:00')+BusinessHour(2)# Timestamp('2019-01-18 12:00:00')#实例1.5:Subtracting 3 business hours
pd.Timestamp('2019-01-18 10:00')+BusinessHour(-3)# Timestamp('2019-01-17 15:00:00')
实例2:按关键字指定start和end计时
# 参数必须是str带有hour:minute或datetime.time 实例的参数。
# 指定秒,微秒和纳秒作为营业时间的结果ValueError。# 实例2.1:start时间<end时间
bh =BusinessHour(start='11:00', end=datetime.time(20, 0))# <BusinessHour: BH=11:00-20:00>pd.Timestamp('2019-01-18 13:00') + bh# Timestamp('2019-01-18 14:00:00')
pd.Timestamp('2019-01-18 09:00') + bh# Timestamp('2019-01-18 12:00:00')
pd.Timestamp('2019-01-18 18:00') + bh# Timestamp('2019-01-18 19:00:00')# 实例2.2:start时间 >end时间 - 营业时间超过午夜并重叠到第二天
bh=BusinessHour(start='17:00',end='09:00')# <BusinessHour: BH=17:00-09:00>
pd.Timestamp('2019-01-18 17:00') + bh# Timestamp('2019-01-18 18:00:00')
pd.Timestamp('2019-01-18 23:00') + bh# Timestamp('2019-01-19 00:00:00')
pd.Timestamp('2019-01-19 04:00') + bh# Timestamp('2019-01-19 05:00:00') 1/19是周六,起源于周五
pd.Timestamp('2019-01-21 04:00') + bh# Timestamp('2019-01-21 18:00:00') 1/21是周日,起源于周六
实例3:BusinessHour.rollforward和rollback导致下一个营业时间开始或前一天结束
# 与其他偏移BusinessHour.rollforward 不同,可以apply根据定义输出不同的结果。# This adjusts a Timestamp to business hour edge
BusinessHour().rollback(pd.Timestamp('2019-01-19 15:00'))# Timestamp('2019-01-18 17:00:00')
BusinessHour().rollforward(pd.Timestamp('2019-01-19 15:00'))# Timestamp('2019-01-21 09:00:00')BusinessHour().apply(pd.Timestamp('2019-01-18 17:00'))#等价下面
BusinessHour().apply(pd.Timestamp('2019-01-21 09:00'))#Timestamp('2019-01-21 10:00:00')BusinessHour().apply(pd.Timestamp('2019-01-19 15:00'))#Timestamp('2019-01-21 10:00:00')# BusinessDay results (for reference)
BusinessHour().rollforward(pd.Timestamp('2019-01-19'))# Timestamp('2019-01-21 09:00:00')# It is the same as BusinessDay().apply(pd.Timestamp('2019-01-18'))
# The result is the same as rollworward because BusinessDay never overlap.
BusinessHour().apply(pd.Timestamp('2019-01-19'))# Timestamp('2019-01-21 10:00:00')
实例4:CustomBusinessHour自定义营业时间
# 允许指定任意假期,其作用CustomBusinessHour相同BusinessHour。from pandas.tseries.holiday import USFederalHolidayCalendar
bhour_us = CustomBusinessHour(calendar=USFederalHolidayCalendar())
# 实例1:
# Friday before MLK Day
dt = datetime(2014, 1, 17, 15)dt + bhour_us# Timestamp('2014-01-17 16:00:00')
# Tuesday after MLK Day (Monday is skipped because it's a holiday)
dt + bhour_us * 2# Timestamp('2014-01-21 09:00:00')# 实例2:BusinessHour关键字参数CustomBusinessDaybhour_mon = CustomBusinessHour(start='10:00', weekmask='Tue Wed Thu Fri')# Monday is skipped because it's a holiday, business hour starts from 10:00
dt + bhour_mon * 2# Timestamp('2014-01-21 10:00:00')
59 pandas 时间序列-BusinessHour营业时间及自定义营业时间(tcy)相关推荐
- python输入一个数组输出24进制式的时间_python获取时间,自定义的时间格式,时间戳,十六进制时间类型输出...
python获取时间,此文使用到的两个库:IDE-PyCharm import time import datetime 获取当前日期和时间: now_tm = datetime.datetime.n ...
- pandas创建时间序列仿真数据并过滤(filter)时间数据:头尾数据、某年的数据、某年某月的数据、某年某月某日的数据、某个时间范围内的数据、truncate函数查看特定时间之前护着之后的数据
pandas创建时间序列仿真数据并过滤(filter)时间数据:头尾数据.某年的数据.某年某月的数据.某年某月某日的数据.某个时间范围内的数据.truncate函数查看特定时间之前护着之后的数据 目录
- 使用SPSS做时间序列预测时,如何自定义日期型数据周期(时间数据周期)?
使用SPSS做时间序列预测时,如何自定义日期型数据周期/时间数据周期? 问题的产生 解决方案的来源:SPSS自带的语法参考 DATE命令的基本使用方法 两个示例讲解 写好命令以后如何运行 需要注意的点 ...
- Pandas 时间序列 - DateOffset 对象
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 国亡身殒今何有,只留离骚在世间. ...
- Pandas 时间序列 - 纵览与时间戳
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 一身报国有万死,双鬓向人无再青. ...
- pandas使用resample进行不同粒度下的时间特征重构实战:构建时间维度统计特征
pandas使用resample进行不同粒度下的时间特征重构实战:构建时间维度统计特征 Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率 ...
- pandas 如何把时间转成index_pandas 时间格式转换的实现
pandas 时间格式转换的实现 OUTLINE 常见的时间字符串与timestamp之间的转换 日期与timestamp之间的转换 常见的时间字符串与timestamp之间的转换 这里说的字符串不是 ...
- EduCoder Pandas高效化运算与时间序列处理 第3关:Pandas时间序列的高级应用
文章目录 任务描述 相关知识 时间频率与偏移量 重新取样.迁移和窗口 重新取样 时间迁移 移动时间窗口 编程要求 测试说明 任务描述 根据相关知识完成下列任务: 求上个季度(仅含工作日)的平均值: 求 ...
- python处理时间序列_Python——Pandas 时间序列数据处理
介绍 Pandas 是非常著名的开源数据处理库,我们可以通过它完成对数据集进行快速读取.转换.过滤.分析等一系列操作.同样,Pandas 已经被证明为是非常强大的用于处理时间序列数据的工具.本节将介绍 ...
最新文章
- java 默认字符集 iso_当服务器的默认字符集是UTF-8时,Perl并使用ISO-8859-1字符集...
- TDD in .NET Core - 简介
- [脑图]如何入门技术、进阶技术(技术开发人员)
- OCP大会 | DCOS – 面向数据中心的运营操作系统(附PPT)
- .NET 6 预览版 7 发布--(最后一个预览版)
- js 判断数据是否为空
- iOS App的图标,启动画面及其它
- 数据库设计技巧系列(二)——设计表和字段
- 2018年大数据趋势丨大数据的黄金时代
- python实现深度优先搜索_python 递归深度优先搜索与广度优先搜索算法模拟实现...
- linux系统 安装svn客户端下载,Linux安装svn客户端
- 我的世界服务器怎么修改名称,我的世界端游怎么改名字
- 央央家政解读:育儿嫂服务内容和标准
- 【测试开发】Python—logging日志封装
- java爬虫系列(三)——漫画网站爬取实战
- Ubuntu 20.04系统安装及初始配置
- HTTP协议三次握手过程
- 软件构造(九) 面向复用的软件构造技术
- 8赛道,64匹马找最快的8匹马
- Gibbs抽样方法详解
热门文章
- 微信自定义菜单 快递接口 SpringMVC mybatis redis shiro ehcache websocket
- 【spark】Spark程序开发
- 苹果公司商业模式分析
- 新增一个复合主键的步骤
- 从洞察到决策,一文解读标签画像体系建设方法论
- Java Sleep 类以及使用方法
- java中int[] arr和int arr[]有什么区别
- 解决excel报错the setup controller has encountered a problem during install
- 小小知识点(二十七)20大5G关键技术
- PostgreSql pg_dump用法