gpt4 book ai didi

python - Pandas DatetimeIndex + seasonal_decompose = 缺失频率

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:33 26 4
gpt4 key购买 nike

我正在尝试对我的 pandas 数据框执行 seasonal_decompose,但我遇到了一个我无法克服的错误。我的时间序列数据包含按时间顺序排列的差距,考虑到我的数据是股票价格,这是明智的(在市场时间之后产生这些差距,以及不同的月份长度等)。数据本身可以被认为是连续的,但 pandas 似乎不想推断任何频率。

我所有的时间范围数据(1m、5m、15m ... 1D、1M)都已正确填充,但没有设置为频率。我的算法在实例化时创建一个空数据框,并在算法运行期间数据到达时通过 loc 向其添加值。所以也许这就是频率为 None 的最终原因(因为 Pandas 通常在生成所有数据后使用)。

我已经尝试在 seasonal_decompose 之前明确设置频率,使用:

data.index.freq = data.index.freq 或 to_offset(timeframe.Timespan).freqstr

其中 timeframe.Timespan 是一个 python timedelta 对象。结果字符串是准确的(“D”,因为时间跨度恰好是每天)但出现以下错误:

ValueError: Inferred frequency None from passed values does not conform to passed frequency D

所以我不能在我的索引上明确设置频率?我该如何解决这个问题?无论如何,频率整数(传递给 seasonal_decompose)是如何从这些字符串中导出的?我也不允许更改 data.index.inferred_freq 的值,所以这不是一个选项。

最佳答案

听起来您需要的是 DataFrame.asfreq :

data = data.asfreq(data.index.freq or to_offset(timeframe.Timespan).freqstr)

关于python - Pandas DatetimeIndex + seasonal_decompose = 缺失频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56246322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com