我启动了一个dask客户端,并通过循环向它发送任务。
tasks = []
for order in orderIDs:
tasks.append(client.submit(process,allcars.get_group(order),allorders.get_group(order)))
任务完成后,列表中包含的pandas DataFrames如下所示:
[<Future: finished, type: pandas.DataFrame, key: process-93e68764db2995b23271abe5d531a5bf>, <Future: finished, type: pandas.DataFrame, key: process-04395a45d14a1ac440363d52379f5e55>]
在dask之前,我使用pd.concat
来获得最终的数据帧。这比附加数据帧更快。
然而,pd.concat(tasks)
抱怨"TypeError:不能连接类型为‘’的对象;只有序列和DataFrame对象是有效的“。
当我尝试dd.from_delayed(tasks)
时,它报告"AttributeError:类型对象'DataFrame‘没有属性'from_delayed'“
如何连接(垂直堆叠)此列表的内容?有没有办法让这最后一步变得分布式?
发布于 2020-01-03 01:47:00
您希望将pd.concat
函数提交到任务列表中。
future = client.submit(pd.concat, tasks)
https://stackoverflow.com/questions/59563901
复制相似问题