pandas-statsmodels:为列中的每个组生成时间序列预测

时间:2018-12-05 16:14:55

标签: python-3.x pandas dataframe time-series statsmodels

我有一个数据框df:

DATE        GROUP    COUNT
01-01-2018    A        12
01-02-2018    A        8
01-03-2018    A        30
..
01-02-2018    Y        221
01-03-2018    Y        343
01-01-2018    Z        67
01-02-2018    Z        65
01-03-2018    Z        88

我想使用ExponentialSmoothing中的statsmodels为每个组(A,B..Z)生成独立的预测。如果为组创建一个全新的数据框,我就能使其正常工作:

from statsmodels.tsa.api import ExponentialSmoothing

A_df=df.[df['GROUP']=='A']

train=A_df[0:200]
test=A_df[200:]

fit=ExponentialSmoothing(np.asarray(train["COUNT"]), seasonal_periods=360, 
trend='add', seasonal='add').fit()

A_df['ExpSmooth']=fit.forecase(len(test))

假设结果:

DATE      GROUP    COUNT  ExpSmooth
01-01-2018  A       12      15
01-02-2018  A       8       10
01-03-2018  A       30      15
01-04-2018  A       11      11

是否有一种简便的方法来获取pandas / statsmodels,以将每个组视为大数据框中的自己完整的数据集,并为每个组创建新的数据框? 即

Bdf=df[df['GROUP']=='B']
Cdf=df[df['GROUP']=='C']

0 个答案:

没有答案