繁体   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