教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

時間序列分析:降采樣

更新時間:2022年12月09日10時34分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

  降采樣時間顆粒會變大,比如原來是按天統(tǒng)計的數(shù)據(jù),現(xiàn)在要變成按周統(tǒng)計。降采樣時數(shù)據(jù)量是減少的,為了避免有些時間戳對應的數(shù)據(jù)閑置,可以利用內(nèi)置方法(比如sum、mean等)聚合數(shù)據(jù)。

  在金融領(lǐng)域中,股票數(shù)據(jù)比較常見的是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月份每周的開盤價、最高價、最低價、收盤價。注意,這些股票數(shù)據(jù)都是隨機數(shù),只供大家學習使用,并不是真實的數(shù)據(jù)。

  重采樣就相當于另外一種形式的分組操作,它會按照日期將時間序列進行分組,之后對每個分組應用聚合方法得出一個結(jié)果,同樣實現(xiàn)了對時間序列數(shù)據(jù)降采樣的效果,示例代碼如下。

In [48]: # 通過groupby技術(shù)實現(xiàn)降采樣
         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 分享到:
和我們在線交談!