【时间序列(四)】【频率和日期偏移量+WOM日期(移动数据+通过偏移量对日期进行位移)】

上一篇:【时间序列(三)】【带有重复索引的时间序列+日期的范围、频率以及移动+生成日期范围

频率和日期偏移量

pandas中的频率是由一个基础频率(base frequency)和一个乘数组成的。基础频率通常以一个字符串别名表示,比如"M"表示每月,"H"表示每小时。对于每个基础频率,都有一个被称为日期偏移量(date offset)的对象与之对应。例如,按小时计算的频率可以用Hour类表示。
在这里插入图片描述

=====================================
传入一个整数即可定义偏移量的倍数
在这里插入图片描述

=====================================
一般来说,无需明确创建这样的对象,只需使用诸如"H"或"4H"这样的字符串别名 即可。在基础频率前面放上一个整数即可创建倍数。
在这里插入图片描述

=====================================
大部分偏移量对象都可通过加法进行连接
在这里插入图片描述

=====================================
你也可以传入频率字符串(如"2h30min"),这种字符串可以被高效地解析 为等效的表达式
在这里插入图片描述

=====================================
有些频率所描述的时间点并不是均匀分隔的。例如,“M”(日历月末)和"BM"(每 月最后一个工作日)就取决于每月的天数,对于后者,还要考虑月末是不是周末。
用户可以根据实际需求自定义一些频率类以便提供pandas所没有的日期逻辑。

WOM日期

WOM(Week Of Month)是一种非常实用的频率类,它以WOM开头。它使你能获得诸如“每月第3个星期五”之类的日期。

在这里插入图片描述

移动(超前和滞后)数据

移动(shifting)指的是沿着时间轴将数据前移或后移。Series和DataFrame都有一 个shift方法用于执行单纯的前移或后移操作,保持索引不变。
进行移动时,就会在时间序列的前面或后面产生缺失数据。
在这里插入图片描述

=====================================
shift通常用于计算一个时间序列或多个时间序列(如DataFrame的列)中的百分比 变化。
在这里插入图片描述

=====================================
由于单纯的移位操作不会修改索引,所以部分数据会被丢弃。因此,如果频率已知,则可以将其传给shift以便实现对时间戳进行位移而不是对数据进行简单位移
在这里插入图片描述

=====================================
使用其他频率,对数据进行超前和滞后处理
在这里插入图片描述

通过偏移量对日期进行位移

pandas的日期偏移量还可以用在datetime或Timestamp对象
在这里插入图片描述

=====================================
如果加的是锚点偏移量(比如MonthEnd),第一次增量会将原日期向前滚动到符 合频率规则的下一个日期
在这里插入图片描述

=====================================
通过锚点偏移量的rollforward和rollback方法,可明确地将日期向前或向后“滚动”。
在这里插入图片描述

=====================================
日期偏移量还有一个巧妙的用法,即结合groupby使用这两个“滚动”方法
在这里插入图片描述

=====================================
更简单、更快速地实现该功能的办法是使用resample
在这里插入图片描述

++++++++++++++++++++++++++++++++++++

下一篇:【时间序列(五)】待更新

发布了75 篇原创文章 · 获赞 117 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42893334/article/details/104340845