我试图做一些时间序列分析,但当我试图绘制季节分解()的结果时,我得到了一个错误
时间序列如下所示(它是从更大的数据帧生成的):
df1
|----------------|流出总额|
|val|U日期--|-->日期--
|2020-04-01|249
|2019-10-01|19474
|2019-12-01|889
|2019-12-01|15149
|2020-04-01|5334
|.................. |…
|2019-12-01|7146
|2020-09-01|17898
|2020-01-01|110
|2020-06-01|750
|2020-09-01|25191
代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from datetime import datetime
from statsmodels.tsa.stattools import adfuller
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.arima_model import ARIMA
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
df1 = df[['val_date','outflow_sum']]
df1['val_date'] = pd.to_datetime(df1['val_date'], format='%Y-%m')
df1.set_index(df1['val_date'],inplace=True)
df1.drop('val_date',axis=1, inplace=True)
当我尝试这样做时:
result = seasonal_decompose(df1,model='additive', freq = 1)
result.plot()
我得到一个错误的情节说: AttributeError:'numpy.datetime64'对象没有属性'toordinal'
我正在Cloudera界面中使用Python 3
分类!与其将“val_date”设置为索引,不如将其保留为datetime列,这样分解就可以进行了
相关问题 更多 >
编程相关推荐