2016-10-01 59 views
2

比方說,我有一系列瞬時溫度測量(即它們捕捉溫度的準確時刻)。Python熊貓將瞬時小時數據重採樣到每日時間步驟(包括次日的00:00)

index = pd.date_range('1/1/2000', periods=9, freq='T') 
series = pd.Series(range(9), index=index) 

series 
Out[130]: 
2000-01-01 00:00:00 0 
2000-01-01 06:00:00 1 
2000-01-01 12:00:00 2 
2000-01-01 18:00:00 3 
2000-01-02 00:00:00 4 
2000-01-02 06:00:00 5 
2000-01-02 12:00:00 6 
2000-01-02 18:00:00 7 
2000-01-03 00:00:00 8 
Freq: 6H, dtype: int64 

我想獲得平均每日溫度。問題是我想包括當天的00:00:00和當天的第二天的平均值。例如,我想平均2000-01-01 00:00:00至2000-01-02 00:00:00(含)。熊貓重採樣功能將不包括2000-01-02,因爲它是不同的一天。

我會想象這種情況經常出現在處理需要重新採樣的瞬時測量時。什麼是解決方案?

回答

0

設置

index = pd.date_range('1/1/2000', periods=9, freq='6H') 
series = pd.Series(range(9), index=index) 
series 


2000-01-01 00:00:00 0 
2000-01-01 06:00:00 1 
2000-01-01 12:00:00 2 
2000-01-01 18:00:00 3 
2000-01-02 00:00:00 4 
2000-01-02 06:00:00 5 
2000-01-02 12:00:00 6 
2000-01-02 18:00:00 7 
2000-01-03 00:00:00 8 
Freq: 6H, dtype: int64 

解決方案

series.rolling(5).mean().resample('D').first() 

2000-01-01 NaN 
2000-01-02 2.0 
2000-01-03 6.0 
Freq: D, dtype: float64 
+0

一個需'.shift(-1)'在最後,但是這是我一直在尋找! –

相關問題