我正在尝试使用 dask 在 python 中并行化时间序列预测。数据的格式是每个时间序列都是一列,它们有一个共同的每月日期索引。我有一个自定义预测函数,它返回一个包含拟合值和预测值的时间序列对象。我想在数据帧的所有列(所有时间序列)中应用这个函数,并返回一个新的数据帧,其中包含所有这些要上传到数据库的系列。我已经通过运行使代码工作:
data = pandas_df.copy()
ddata = dd.from_pandas(data, npartitions=1)
res = ddata.map_partitions(lambda df: df.apply(forecast_func,
axis=0)).compute(get=dask.multiprocessing.get)
Run Code Online (Sandbox Code Playgroud)
我的问题是,在 Dask 中是否有一种方法可以按列而不是按行进行分区,因为在这个用例中,我需要保持有序的时间索引,以便预测功能正常工作。
如果没有,我将如何重新格式化数据以实现高效的大规模预测,并且仍然以我需要的格式返回数据然后推送到数据库?