Python 如何使用rpy2延迟的Dask?

Python 如何使用rpy2延迟的Dask?,python,forecasting,rpy2,dask-distributed,dask-delayed,Python,Forecasting,Rpy2,Dask Distributed,Dask Delayed,我正在尝试使用Dask,特别是Dask延迟,以使用rpy2和R中的预测包并行生成时间序列预测。我的过程在仅使用1个核心时工作,但我得到一个 NotImplementedError: Conversion 'py2ri' not defined for objects of type '<class 'pandas.core.series.Series'>' 使用dask DELATED循环数据帧中的每个时间序列,并将其转换为时间序列 有效: output_fc_R = [] for

我正在尝试使用Dask,特别是Dask延迟,以使用rpy2和R中的预测包并行生成时间序列预测。我的过程在仅使用1个核心时工作,但我得到一个

NotImplementedError: Conversion 'py2ri' not defined for objects of type '<class 'pandas.core.series.Series'>'
使用dask DELATED循环数据帧中的每个时间序列,并将其转换为时间序列

有效

output_fc_R = []
for i in df:
    forecasted_series = r_vecs(df[i])
    output_fc_R.append(forecasted_series)

output_fc_R
#Try to forecast in parallel with Dask
output_fc_R = []
for i in df:
    forecasted_series = dask.delayed(r_vecs)(df[i])
    output_fc_R.append(forecasted_series)

total = dask.delayed(output_fc_R).compute()
不起作用

output_fc_R = []
for i in df:
    forecasted_series = r_vecs(df[i])
    output_fc_R.append(forecasted_series)

output_fc_R
#Try to forecast in parallel with Dask
output_fc_R = []
for i in df:
    forecasted_series = dask.delayed(r_vecs)(df[i])
    output_fc_R.append(forecasted_series)

total = dask.delayed(output_fc_R).compute()

我仍然不确定到底是什么导致了这个问题,但当我第一次显式地将时间序列转换为一个R Intvector对象时,事情似乎正常运行

def r_vecs(time_series):

    time_series = robjects.IntVector(time_series)
    rdata=ts(time_series,frequency=12)

    return rdata

在我最初的帖子中,通过计算python字符串在forecast包中拟合R模型也有不同的问题。如果您想了解完整的主题,请参见:

这两个示例在新的virtualenv中都适用于python 3.6.2和dask、rpy2、pandas等的最新pypi版本。您能详细说明python的哪个版本(jupyter的哪个版本?)等等,你在使用什么,你是如何运行的?@Noah我这里不做完整的解释,因为我简化了这个例子,所以,我最初在原始帖子中使用的是R预测包和一个自定义函数,我最终找到了一个解决方法,但这里引用的错误是一个单独的问题,但我认为在这里发布太多了。你可以找到这个帖子,我很快就会在我的博客上发布一个完整的演练