python中重新取样函数实现重采样和降采样代码

  

<强>函数原型

  
  

重新取样(自我,规则,=,=0,轴fill_method=没有关闭=没有标签=None,公约=肌?=None, loffset=,=没有限制,基?0,>   *=pd.date_range(' 20180101 ',时间=30)   ts=pd.Series (np.arange(31),指数=*)   ts   2018-01-01 1   2018-01-02 2   2018-01-03 3   2018-01-04 4   2018-01-05 5   2018-01-06 6   2018-01-07 7   2018-01-08 8   2018-01-09 9   2018-01-10 10   2018-01-11 11   2018-01-12 12   2018-01-13 13   2018-01-14 14   2018-01-15 15   2018-01-16 16   2018-01-17 17   2018-01-18 18   2018-01-19 19   2018-01-20 20   2018-01-21 21   2018-01-22 22   2018-01-23 23   2018-01-24 24   2018-01-25 25   2018-01-26 26   2018-01-27 27   2018-01-28 28   2018-01-29 29   2018-01-30 30   频率:D, dtype: int32   ts_7d=ts.resample (7 d) .sum ()   ts_7d   2018-01-01 28   2018-01-08 77   2018-01-15 126   2018-01-22 175   2018-01-29 59   dtype: int32   之前      

我们看看上面代码,就是先给出一个行号的系列、l然后聚合成左闭右开的5个区间(8),(15),(22),(11),(29-5(下个月)),每个区间的值就为单个区间值之和。由于29号往后只有29号和30号有值,所以只有两个值

  

下面我们看看标签和封闭的功能

        ts_7d=ts.resample (7 d,关闭=罢贰钡谋昵?'左').sum ()   ts_7d      [14]:   2017-12-25 1   2018-01-01 35   2018-01-08 84   2018-01-15 133   2018-01-22 182   2018-01-29 30   之前            

上面的代码,将关闭改为了吧,区间就变成了左开右闭,那么如果从区间还是(1 8]1就取不到,所以往前取,就是(25 1](8),(15),(15、22](22、29](29日5]这6个区间

        ts_7d=ts.resample (7 d,关闭=罢贰钡谋昵?'正确').sum ()   ts_7d      [15]:   2018-01-01 1   2018-01-08 35   2018-01-15 84   2018-01-22 133   2018-01-29 182   2018-02-05 30   dtype: int32   之前            

上面的代码就可以看出标签=正确就是指标签等于右区间的值,如果标签=左就是指标签等于左区间的值

  

<强>重采样

  

降低时间的细粒度,对于重采样,主要是涉及到值的填充。有下面的三种填充方法

  

不填充。那么对应无值的地方,用南代替。对应的方法是asfreq。

  

用前值填充。用前面的值填充无值的地方。对应的方法是ffill或者垫。

  

用后值填充。对应的方法是bfill, b代表回来。

  

下面给出代码看一下

        ts_7h_asfreq=ts.resample (7 h) .asfreq ()   打印(ts_7h_asfreq)      ts_7h_ffill=ts.resample (7 h) .ffill ()   打印(ts_7h_ffill)      ts_7h_bfill=ts.resample (7 h) .bfill ()   ts_7h_bfill         2018-01-01就是1.0   2018-01-01 07:00:00南   2018-01-01 14:00:00南   2018-01-01 21:00:00南   频率:7 h, dtype: float64   2018-01-01就是1   2018-01-01 07:00:00 1   2018-01-01 14:00:00 1   2018-01-01 21:00:00 1   频率:7 h, dtype: int32   [24]:   2018-01-01就是1   2018-01-01 07:00:00 2   2018-01-01 14:00:00 2   2018-01-01 21:00:00 2   频率:7 h, dtype: int32   之前            

  

重采样和降采样一般用在时间序列里面,合理的使用降低时间维度或者降低时间细粒度多可以成为好的特征。

           

以上这篇python中重新取样函数实现重采样和降采样代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

python中重新取样函数实现重采样和降采样代码