簡體   English   中英

熊貓:擴展重采樣窗口

[英]Pandas: extend resampling window

假設我有一個每2小時有一個數據點的“低頻”系列,我想將其升頻到1小時的頻率。

在下面的代碼片段中是否有可能讓高頻信號有24行(而不是23行)? 更准確地說,我希望新索引的范圍從00:00到23:00,具有NaN值(而不是在22:00停止)。

我已經玩了很多選項,但我仍然找不到干凈的方法來做到這一點。

import pandas as pd
import numpy as np

low_f = pd.Series(np.random.randn(12), 
               index=pd.date_range(start='01/01/2017', freq='2H', periods=12),
               name='2H').cumsum()

high_f = low_f.resample('1H', ).mean()

print(high_f.tail(1).index)

#Yields DatetimeIndex(['2017-01-01 22:00:00'], dtype='datetime64[ns]', freq='H') 
#I'd like DatetimeIndex(['2017-01-01 23:00:00'], dtype='datetime64[ns]', freq='H') 
#(w/ 24 elements)

您可以使用DateTimeIndex.shift方法將日期移動1小時(前導)。 就拿union它的舊索引和新成立的移動索引。

最后,根據這些指數reindex它們。 由於在最后一個索引處不存在該series值,因此它們將由NaN根據其默認的fill_value參數填充。

high_f.reindex(high_f.index.union(high_f.index.shift(1, 'H')))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM