假设我有每日数据(不是定期间隔),我想计算过去5个月中每个月的移动标准差(或任意非线性函数)。例如,对于2012年5月,我将从2012年1月到2012年5月(5个月)的期间计算stddev。对于2012年6月,该期间从2012年2月开始,以此类推。最终结果是一个具有月度值的时间序列。
我无法应用滚动窗口,因为这首先是每日的,其次我需要指定值的数量(滚动窗口不会按时间框架聚合,一些帖子解决了这个问题issue,但它们与我的问题无关,因为滚动仍然是针对每一天的)。
我无法应用重新采样,因为那么样本将是每5个月一次,例如我只会在2012年5月,2012年10月,2013年3月等时刻获得值... 最后,由于函数不是线性的,我不能通过首先进行每月样本,然后在其上应用5期滚动窗口来重构它。
我需要一种对时间间隔定义的滚动窗口进行重新采样的功能,与数值数量无关。
如何在pandas中实现这个功能?一种方法是将几个(例如5个)重新采样的(5个月)时间序列组合起来,每个序列相差一个月,然后将所有这些序列对齐到一个序列中...但我不知道如何实现。
我无法应用滚动窗口,因为这首先是每日的,其次我需要指定值的数量(滚动窗口不会按时间框架聚合,一些帖子解决了这个问题issue,但它们与我的问题无关,因为滚动仍然是针对每一天的)。
我无法应用重新采样,因为那么样本将是每5个月一次,例如我只会在2012年5月,2012年10月,2013年3月等时刻获得值... 最后,由于函数不是线性的,我不能通过首先进行每月样本,然后在其上应用5期滚动窗口来重构它。
我需要一种对时间间隔定义的滚动窗口进行重新采样的功能,与数值数量无关。
如何在pandas中实现这个功能?一种方法是将几个(例如5个)重新采样的(5个月)时间序列组合起来,每个序列相差一个月,然后将所有这些序列对齐到一个序列中...但我不知道如何实现。
dft[datetime(2013, 1, 1):datetime(2013,6)]
从给定的月份中选择数据。只需编写一个循环或等效循环来循环开始和结束月份值,并将您的函数应用于生成的数据框中的值即可。 (抱歉,我现在没有带有日期戳的数据集可供测试) - Dan