dask - 如何在最后一步结合 dask 期货?
问题描述
我启动了一个 dask 客户端并通过循环向它发送任务。
tasks = []
for order in orderIDs:
tasks.append(client.submit(process,allcars.get_group(order),allorders.get_group(order)))
当任务完成时,列表中包含 pandas DataFrame,如下所示:
[<Future: finished, type: pandas.DataFrame, key: process-93e68764db2995b23271abe5d531a5bf>, <Future: finished, type: pandas.DataFrame, key: process-04395a45d14a1ac440363d52379f5e55>]
在 dask 之前,我曾经pd.concat
得到一个最终的数据帧。这比附加数据帧要快。
但是,pd.concat(tasks)
抱怨“TypeError:无法连接类型''的对象;只有 Series 和 DataFrame objs 有效”
当我尝试dd.from_delayed(tasks)
它抱怨“AttributeError:类型对象'DataFrame'没有属性'from_delayed'”
如何连接(垂直堆叠)此列表的内容?有没有办法让这最后一步分发?
解决方案
您想将该pd.concat
功能提交到任务列表中。
future = client.submit(pd.concat, tasks)
推荐阅读
- microsoft-graph-api - 使用 auth0 登录访问 Microsoft 图形资源
- r - 'double' 类型数据的子集范围
- google-bigquery - 有没有办法用 BigQuery 做 LEFT JOIN LATERAL?
- android - 如何防止应用程序在 Play 商店之外发布?
- python - Python - 如何从非数字数据在熊猫中制作交叉表?
- c# - TargetFramework 与 TargetFrameworks(复数)
- kubernetes - 在 PAAS 环境中引发 CommunicationSpi 问题
- sql - 具有 NOT IN 和 WHERE 关系的 SQL 查询与 GUID
- javascript - 使用 JavaScript 解析 xml 标签
- google-cloud-platform - 我可以将我的 AutoML 模型从一个项目复制到另一个项目吗?