반응형
몇 가지 시계열이있는 DataFrame
이 있습니다.
divida movav12 var varmovav12
Date
2004-01 0 NaN NaN NaN
2004-02 0 NaN NaN NaN
2004-03 0 NaN NaN NaN
2004-04 34 NaN inf NaN
2004-05 30 NaN -0.117647 NaN
2004-06 44 NaN 0.466667 NaN
2004-07 35 NaN -0.204545 NaN
2004-08 31 NaN -0.114286 NaN
2004-09 30 NaN -0.032258 NaN
2004-10 24 NaN -0.200000 NaN
2004-11 41 NaN 0.708333 NaN
2004-12 29 24.833333 -0.292683 NaN
2005-01 31 27.416667 0.068966 0.104027
2005-02 28 29.750000 -0.096774 0.085106
2005-03 27 32.000000 -0.035714 0.075630
2005-04 30 31.666667 0.111111 -0.010417
2005-05 31 31.750000 0.033333 0.002632
2005-06 39 31.333333 0.258065 -0.013123
2005-07 36 31.416667 -0.076923 0.002660
첫 번째 시계열 divida
를 계절 및 잔차 성분과 추세를 구분할 수있는 방식으로 분해하려고합니다.
import statsmodels.api as sm
s=sm.tsa.seasonal_decompose(divida.divida)
그러나이 오류가 계속 발생합니다.
Traceback (most recent call last):
File "/Users/Pred_UnBR_Mod2.py", line 78, in <module> s=sm.tsa.seasonal_decompose(divida.divida)
File "/Library/Python/2.7/site-packages/statsmodels/tsa/seasonal.py", line 58, in seasonal_decompose _pandas_wrapper, pfreq = _maybe_get_pandas_wrapper_freq(x)
File "/Library/Python/2.7/site-packages/statsmodels/tsa/filters/_utils.py", line 46, in _maybe_get_pandas_wrapper_freq
freq = index.inferred_freq
AttributeError: 'Index' object has no attribute 'inferred_freq'
어떻게 진행할 수 있습니까?
해결 방법
index
를 DateTimeIndex
로 변환하면 제대로 작동합니다.
df.reset_index(inplace=True)
df['Date'] = pd.to_datetime(df['Date'])
df = df.set_index('Date')
s=sm.tsa.seasonal_decompose(df.divida)
<statsmodels.tsa.seasonal.DecomposeResult object at 0x110ec3710>
다음을 통해 구성 요소에 액세스합니다.
s.resid
s.seasonal
s.trend
참조 페이지 https://stackoverflow.com/questions/34457281
반응형
'파이썬' 카테고리의 다른 글
파이썬 IPython Notebook cell multiple outputs (0) | 2020.11.12 |
---|---|
파이썬 Why is assertDictEqual needed if dicts can be compared by `==`? (0) | 2020.11.11 |
파이썬 DataFrame object has no attribute 'sort_values' (0) | 2020.11.11 |
파이썬 응답의 개체가 구독 가능한 Python http 게시 요청이 아닙니다. (0) | 2020.11.11 |
파이썬 목록 / 하위 목록 선택 -1 이상 (0) | 2020.11.11 |
댓글