我正在尝试遵循一个教程,其中正在使用差异数据进行 ARIMA 时间序列分析:
以下是python代码:
def difference(dataset):
diff = list()
for i in range(1, len(dataset)):
value = dataset[i] - dataset[i - 1]
diff.append(value)
return Series(diff)
series = pd.read_csv('dataset.csv')
X = series.values # The error in building the list can be seen here
X = X.astype('float32')
stationary = difference(X)
stationary.index = series.index[1:]
...
stationary.plot()
pyplot.show()
当过程到达绘图阶段时,我收到错误:
类型错误:没有可绘制的数字数据
回溯起来,我发现正在解析的数据结果是一个数组的集合。将集合 stationary 保存为
*.csv
文件会给我一个如下列表:
[11.]
[0.]
[16.]
[45.]
[27.]
[-141.]
[46.]
有人可以告诉我这里出了什么问题吗?
PS。我已经排除了库导入的部分
pd.read_csv('dataset.csv')
返回 pandas.DataFrame
,而不是 pandas.Series
。
iloc
将其作为一系列,然后按照您已经做的方式绘制它:
df = pd.read_csv('dataset.csv')
series = df.iloc[:, 0]