在尝试将先知并行化到面板时间序列时,使用 groupby 从 pandarallel 中获取错误

问题描述

嗨,我正在尝试将 facebook-prophet 并行化到面板时间序列。每个系列都是相互独立的,所以放在一起应该没有问题。我想做的是同时为每个系列拟合一个先知模型。我在下面试过:

def prop(df):
    prop_feat = pd.DataFrame(columns = ['ds','trend','yhat_lower','yhat_upper','trend_lower','trend_upper','daily','daily_lower','daily_upper','weekly','weekly_lower','weekly_upper','yhat'])
    for t,n in tqdm(enumerate(range(100,len(df)))):
        m = Prophet(yearly_seasonality=False,weekly_seasonality=8,daily_seasonality=10,changepoint_prior_scale=0.05,changepoint_range = 1)
        m.fit(df.iloc[:n,:].drop(["O2_ID",],axis=1))
        future = m.make_future_dataframe(periods=1,freq="h")
        forecast = m.predict(future)
        prop_feat.loc[t,:] = forecast.loc[len(forecast)-1,['ds','yhat']]
    prop_feat["ds"] = prop_feat.ds - pd.timedelta("1h")
    return pd.merge(df,prop_feat,on="ds")
        
pandarallel.initialize()
z = df_trial.groupby("O2_ID",as_index=False).parallel_apply(prop)

运行几次迭代后,报错如下:

类型错误:_is_indexed_like() 缺少 1 个必需的位置参数:'axis'

任何人都可以帮助我解决错误。或者提出不同的方法来实现我想要做的事情?

PS:以下工作正常:z = df_trial.groupby("O2_ID",as_index=False).apply(prop)

编辑:

示例数据,数据框的前 5 行:

First 5 rows

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)