美文网首页《利用Python进行数据分析》 第二版
《利用Python进行数据分析》 11.6 重新采样和频率转换(

《利用Python进行数据分析》 11.6 重新采样和频率转换(

作者: CCC考研 | 来源:发表于2018-12-18 15:15 被阅读1次

    11.6 重新采样和频率转换


           重新采样是指将时间序列从一个频率转换为另一个频率的过程。

           将更高频率的数据聚合到低频率被称为向下采样,而从低频率转换到高频率称为向上采样。

           并不是所有的重新采样都属于上面说的两类;例如,将W-WED(weekly on Wednesday,每周三)转换到W-FRI(每周五)既不是向上采样也不是向下采样。

           pandas对象都配有resample方法,该方法是所有频率转换的工具函数。resample拥有类似于groupby的API;你调用resample对数据分组,之后再调用聚合函数。

    1.resample是一个灵活且高性能的方法,可以用于处理大型时间序列(见图11-1)

    图11-1:resample示例

    :resample方法参数(见表11-1)

    表11-1:resample方法参数

    11.6.1 向下采样


    向下采样将数据聚合在一个规则的低频率上。

    聚合的数据不必是固定频率的,期望的频率定义了用于对时间序列切片以聚合的箱体边界。

    在使用resample进行向下采样数据时有些事情需要考虑:

    · 每段间隔的哪一边是闭合的

    · 如何在间隔的起始或结束位置标记每个已聚合的箱体

    示例:一分钟之内的数据(见图11-2)

    图11-2:一分钟之内的数据

    :传递的频率按五分钟的增量定义了箱体边界。默认情况下,左箱体边界是包含的,因此00:00的值是包含在00:00到00:05间隔内的,传递closed='right’将间隔的闭合端改为了右边。

    1.参数closed的用法(见图11-2、11-3)

    传递closed='right’会将间隔的闭合端改为了右边。

    图11-3:closed的用法

    2.参数label的用法(见图11-4)

           产生的时间序列按照每个箱体左边的时间戳被标记。传递label='right’你可以使用右箱体边界标记时间序列。

    图11-4:label的用法

    阐明:分钟频率数据按五分钟频率进行的重新采样(见图11-5)

    图11-5::closed、label约定的五分钟重新采样示意图

    3.参数loffset用法(见图11-6)

           向loffset传递字符串或日期偏置将结果索引移动一定的数量,例如从右边缘减去一秒,以使其更清楚地表明时间戳所指的间隔。

           也可以通过在结果上调用shift方法来完成loffset的效果。

    图11-6:loffset用法

    11.6.1.1 开端-峰值-谷值-结束(OHLC)重新采样


           在金融中,为每个数据桶计算四个值是一种流行的时间序列聚合方法:第一个值(开端)、最后一个值(结束)、最大值(峰值)和最小值(谷值)

    1.使用ohlc聚合函数你将会获得包含四种聚合值列的DataFrame,这些值在数据的单次扫描中被高效计算(见图11-7)

    图11-7:ohic聚合函数的用法

    相关文章

      网友评论

        本文标题:《利用Python进行数据分析》 11.6 重新采样和频率转换(

        本文链接:https://www.haomeiwen.com/subject/bphckqtx.html