文章目录
-
- 一、 Task04: 时序数据
- 二、理解点
- 三、 问题与作业
-
- 最近考试周有点没处理好时间,考完试填补叭.
- 1. 问题
-
- 【问题一】 如何对date_range进行批量加帧操作或对某一时间段加大时间戳密度?
- 【问题二】 如何批量增加TimeStamp的精度?
- 【问题三】 对于超出处理时间的时间点,是否真的完全没有处理方法?
- 【问题四】 给定一组非连续的日期,怎么快速找出位于其最大日期和最小日期之间,且没有出现在该组日期中的日期?
- 【练习一】 现有一份关于某超市牛奶销售额的时间序列数据,请完成下列问题:
- (a)销售额出现最大值的是星期几?(提示:利用dayofweek函数)
- (b)计算除去春节、国庆、五一节假日的月度销售总额
- (c)按季度计算周末(周六和周日)的销量总额
- (d)从最后一天开始算起,跳过周六和周一,以5天为一个时间单位向前计算销售总和
- (e)假设现在发现数据有误,所有同一周里的周一与周五的销售额记录颠倒了,请计算2018年中每月第一个周一的销售额(如果该周没有周一或周五的记录就保持不动)
- 【练习二】 继续使用上一题的数据,请完成下列问题:
- (a)以50天为窗口计算滑窗均值和滑窗最大值(min_periods设为1)
- (b)现在有如下规则:若当天销售额超过向前5天的均值,则记为1,否则记为0,请给出2018年相应的计算结果
- (c)将(c)中的“向前5天”改为“向前非周末5天”,请再次计算结果
一、 Task04: 时序数据
二、理解点
-
date_range方法的frea参数
- D/B:日/工作日
pd.date_range(start='2020/1/3',periods=3,freq='B')
pd.date_range(start='2020/1/3',periods=3,freq='D')
- W:周末
pd.date_range(start='2020/1/3',periods=3,freq='B')
- M/Q/Y: 月末/季度末/年末
pd.date_range(start='2020/1/1',periods=3,freq='M')
pd.date_range(start='2020/1/1',periods=3,freq='Q')
pd.date_range(start='2020/1/1',periods=3,freq='Y')
- BM/BQ/BY:工作日月末/季度末/年末
pd.date_range(start='2019/1/3',periods=3,freq='BM')
pd.date_range(start='2019/1/3',periods=3,freq='BQ')
pd.date_range(start='2015/1/3',periods=3,freq='BY')
- MS/QS/YS:月初/季度初/年初
pd.date_range(start='2019/1/1',periods=3,freq='MS')
pd.date_range(start='2019/1/1',periods=3,freq='MQ')
pd.date_range(start='2019/1/1',periods=3,freq='MY')
- BMS/BQS/BYS:工作日月初/季度初/年初
pd.date_range(start='2019/1/3',periods=3,freq='BMS')
pd.date_range(start='2019/1/3',periods=3,freq='BQS')
pd.date_range(start='2019/1/3',periods=3,freq='BYS')
- H:小时 T:分钟 S:秒
pd.date_range(start='2019/1/3',periods=3,freq='H')
pd.date_range(start='2019/1/3',periods=3,freq='T'