如何将 Dask DataFrame 转换为字典列表?

Ril*_*Hun 2 python parallel-processing dictionary pandas dask

我需要将 dask 数据帧转换为字典列表作为 API 端点的响应。我知道我可以将 dask 数据帧转换为 pandas,然后从那里我可以转换为字典,但最好将每个分区映射到一个字典,然后连接。

我尝试过的:

df = dd.read_csv(path, usecols=cols)

dd.compute(df.to_dict(orient='records'))
Run Code Online (Sandbox Code Playgroud)

我收到的错误:

AttributeError: 'DataFrame' object has no attribute 'to_dict'
Run Code Online (Sandbox Code Playgroud)

mdu*_*ant 5

您可以按如下方式操作

import dask.bag as db
db.from_delayed(df.map_partitions(pd.DataFrame.to_dict, orient='records'
    ).to_delayed())
Run Code Online (Sandbox Code Playgroud)

它为您提供了一个可以计算(如果它适合内存)或以其他方式操作的包。

请注意,to_delayed/from_delayed 应该不是必需的,也有一个to_bag方法,但它似乎没有做正确的事情。

另外,您并没有真正从dataframe这里的模型中获得太多信息,您可能想从db.read_text内置的 CSV 模块开始。