![](/img/trans.png)
[英]Using statsmodels.seasonal_decompose() without DatetimeIndex but with Known Frequency
[英]Pandas DatetimeIndex + seasonal_decompose = missing frequency
我試圖做一個seasonal_decompose
我的熊貓數據幀,但我已經遇到了,我不能讓過去的錯誤。 我的時間序列數據包含按時間順序排列的時間間隔,考慮到我的數據是股票價格,這是明智的選擇(在市場交易時間后會出現這些時間間隔,以及不同的月份長度等)。 數據本身可以被認為是連續的,但是熊貓似乎不想推斷任何頻率。
我的所有時間范圍數據(1m,5m,15m ... 1D,1M)均已正確填充,但頻率設置為“無”。 我的算法在實例化時創建一個空的數據幀,並在算法運行時過程中隨着數據的到達通過loc
向其添加值。 因此,也許這就是最終導致頻率為“無”的原因(因為在生成所有數據后通常會使用熊貓)。
我嘗試使用以下命令在seasonal_decompose
之前明確設置頻率:
data.index.freq = data.index.freq or to_offset(timeframe.Timespan).freqstr
其中timeframe.Timespan是python timedelta對象。 結果字符串是准確的(“ D”,因為時間跨度是每天),但是會出現以下錯誤:
ValueError:推斷的頻率從傳遞的值無不符合傳遞的頻率D
所以我不能在索引上明確設置頻率嗎? 我該如何解決? 無論如何,如何從這些字符串中得出頻率整數(傳遞給seasonal_decompose
)? 我也不允許更改data.index.inferred_freq
的值,所以這不是一個選擇。
聽起來您需要的是DataFrame.asfreq :
data = data.asfreq(data.index.freq or to_offset(timeframe.Timespan).freqstr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.