教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

时间序列分析:降采样

更新时间:2022年12月09日10时34分 来源:传智教育 浏览次数:

好口碑IT培训

  降采样时间颗粒会变大,比如原来是按天统计的数据,现在要变成按周统计。降采样时数据量是减少的,为了避免有些时间戳对应的数据闲置,可以利用内置方法(比如sum、mean等)聚合数据。

  在金融领域中,股票数据比较常见的是OHLC重采样,包括开盘价(open)、最高价(high)、最低价(low)和收盘价(close)。为此,Pandas中专门提供了一个ohlc()方法,示例代码如下。

In [46]: date_index=pd.date_range('2018/06/01', periods=30)
         shares_data=np.random.rand(30)
         time_ser=pd.Series(shares_data,index=date_index)
         time_ser
Out[46]:
2018-06-01    0.217872
2018-06-02    0.392067
2018-06-03    0.127837
2018-06-05    0.078589
...省略N行...
2018-06-25    0.468722
2018-06-26    0.266006
2018-06-27    0.630626
2018-06-28    0.690746
2018-06-29    0.840611
2018-06-30    0.969173
Freq:D,  dtype: float64
In [47]: time_ser.resample('7D').ohlc() # OHLC重采样
Out[47]:

2018-06-01  0.207359  0.817076  0.207359  0.817076
2018-06-08  0.348861  0.917179  0.243257  0.744128
2018-06-15  0.698345  0.698345  0.240547  0.418569
2018-06-22  0.203373  0.891738  0.111924  0.344488
2018-06-29  0.935986  0.935986  0.920508  0.920508

  上述示例输出了2018年6月份每周的开盘价、最高价、最低价、收盘价。注意,这些股票数据都是随机数,只供大家学习使用,并不是真实的数据。

  重采样就相当于另外一种形式的分组操作,它会按照日期将时间序列进行分组,之后对每个分组应用聚合方法得出一个结果,同样实现了对时间序列数据降采样的效果,示例代码如下。

In [48]: # 通过groupby技术实现降采样
         time_ser.groupby(lambda X: x.week).mean()
Out[48]:
22    0.358104
23    0.366116
24    0.486968
25    0.484954
26    0.664579
dtype: float64

0 分享到:
和我们在线交谈!