2015-12-24 13 views
6

mevsimsel ve artık zaman serisi elemanlar:Ayrıştırma eğilim, birkaç zaman serisi ile bir <code>DataFrame</code> var

  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 

ben onun mevsimsel onun trendi ayırabilirsiniz bir şekilde ilk kez serisini divida ayrıştırmak istiyor ve artık bileşenler.

bir cevap here bulundu ve şu kodu kullanın çalışıyorum:

bu hatayı almaya devam Ancak
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' 

birisi üzerine ışık tutmayı miyim?

+0

sizin 'divida.index.dtype' nedir? Bir DatetimeIndex olmalı – TomAugspurger

cevap

12

İşleri ince size indexDateTimeIndex dönüştürmek zaman: aracılığıyla

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> 

Erişim bileşenleri:

s.resid 
s.seasonal 
s.trend 
+1

Hızlı soru: Bu sonuca nasıl erişebilirim? Sadece abutremutante

+1

adresinden alıyorum. Bilmediğinizi aklınızda bulundurun: s.resid, s.seasonal, s.trend – abutremutante

+0

Teşekkür ederim @Stefan, hayatımı kurtardım! – Amy21