[英]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.