【问题标题】:ValueError: You must specify a period or x must be a pandas object with a DatetimeIndex with a freq not set to NoneValueError:您必须指定一个句点或 x 必须是具有 DatetimeIndex 且频率未设置为 None 的 pandas 对象
【发布时间】:2021-02-13 10:52:46
【问题描述】:

您好,提前感谢您的帮助!

我收到 ValueError: You must specify a period or x must be a pandas object with a DatetimeIndex with a freq not set to None 当我尝试从 GitHub 进行时间序列分解时.我想我对这个错误有一个基本的了解,但是当我直接从我的计算机上的文件中提取数据时,我没有得到这个错误,而不是从 GitHub 中提取。为什么我从 GitHub 中提取数据时只会收到此错误?以及我应该如何更改我的代码以便不再收到此错误?

import pandas as pd
import numpy as np 
%matplotlib inline
from statsmodels.tsa.seasonal import seasonal_decompose

topsoil = pd.read_csv('https://raw.githubusercontent.com/the- 
datadudes/deepSoilTemperature/master/meanDickinson.csv',parse_dates=True)

topsoil = topsoil.dropna()
topsoil.head()

topsoil.plot();

result = seasonal_decompose(topsoil['Topsoil'],model='ad')


from pylab import rcParams
rcParams['figure.figsize'] = 12,5
result.plot();

【问题讨论】:

    标签: python pandas matplotlib time-series statsmodels


    【解决方案1】:

    试试这个:

    import pandas as pd
    import numpy as np 
    %matplotlib inline
    from statsmodels.tsa.seasonal import seasonal_decompose
    
    topsoil = pd.read_csv('https://raw.githubusercontent.com/the-datadudes/deepSoilTemperature/master/meanDickinson.csv',parse_dates=True)
    
    topsoil = topsoil.dropna()
    topsoil.head()
    
    topsoil.plot();
    
    topsoil['Date'] = pd.to_datetime(topsoil['Date'])
    topsoil = topsoil.set_index('Date').asfreq('D')
    result = seasonal_decompose(topsoil, model='ad')
    
    from pylab import rcParams
    rcParams['figure.figsize'] = 12,5
    result.plot();
    

    输出:

    【讨论】:

      猜你喜欢
      • 2021-03-16
      • 1970-01-01
      • 2022-06-24
      • 2019-12-23
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多