Seasonal decompose '你必须指定一个周期,或者 x 必须是一个带有 PeriodIndex 或 DatetimeIndex 的 pandas 对象,频率未设置为 None'

问题描述 投票:0回答:0

我正在尝试使用 statsmodels.tsa 的季节性分解,但我一直收到此错误

'ValueError:您必须指定一个句点,或者 x 必须是具有 PeriodIndex 或 DatetimeIndex 且频率未设置为 None 的 Pandas 对象'

我已经尝试使用 DatetimeIndex 和这样的月度周期

time.index =time.index.to_timestamp(freq='M')
但错误仍然存在。

我的代码如下

import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.seasonal import seasonal_decompose
from pandas.plotting import register_matplotlib_converters

time = pd.DataFrame({'Date':['2022-03-01','2022-03-02','2022-03-03','2022-03-04','2022-03-05',
                   '2022-03-06','2022-03-07','2022-03-08','2022-03-09','2022-03-10',
                   '2022-03-11','2022-03-12','2022-03-13','2022-03-14','2022-03-15'],
                   'Employment_Rate':[52,12,18,35,75,95,85,45,75,85,95,65,85,75,78]
                   })

# Convert 'Date' to datetime and set as index
time['Date'] = pd.to_datetime(time['Date'], format='%Y-%m-%d')
time['Date'] = time['Date'].dt.to_period('M')

time.set_index('Date', inplace=True)

# Sort index and drop NA values
time.sort_index(inplace=True)
time.dropna(inplace=True)

# Convert PeriodDtype index to DatetimeIndex 
time.index = time.index.to_timestamp(freq='M')

# Graphing
register_matplotlib_converters()
plt.rc("figure", figsize=(16, 12))
plt.rc("font", size=13)

decomposition = seasonal_decompose(time['Employment_Rate'])
python statsmodels
© www.soinside.com 2019 - 2024. All rights reserved.