【问题标题】:AttributeError: 'numpy.datetime64' object has no attribute 'toordinal' in python 3 CLouderaAttributeError:'numpy.datetime64'对象在python 3 CLoudera中没有属性'toordinal'
【发布时间】:2020-11-16 10:47:11
【问题描述】:

我正在尝试进行一些时间序列分析,但是当我尝试绘制seasonal_decompose() 的结果时出现错误。

时间序列如下所示(它是从更大的数据框生成的):
df1
|----------------|outflow_sum|
|val_date ----|----------------|
|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。

【问题讨论】:

    标签: python cloudera


    【解决方案1】:

    排序!与其将 'val_date' 设置为索引,不如将其保留为日期时间列,然后分解就起作用了。

    【讨论】:

      猜你喜欢
      • 2018-12-08
      • 2018-05-08
      • 2020-07-13
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 2019-10-23
      相关资源
      最近更新 更多