将文件夹中的许多羽毛文件加载到 dask 中

Load many feather files in a folder into dask

有一个包含许多 .feather 个文件的文件夹,我想将它们全部加载到 python 中的 dask 中。

到目前为止,我已经尝试了以下源自 GitHub https://github.com/dask/dask/issues/1277

上类似问题的内容
files = [...]
dfs = [dask.delayed(feather.read_dataframe)(f) for f in files]
df = dd.concat(dfs)

不幸的是,这给了我那里提到的错误 TypeError: Truth of Delayed objects is not supported,但解决方法尚不清楚。

上面的操作是否可以一蹴而就?

您想要使用 from_delayed,而不是对数据帧进行操作的 concat,它将延迟对象列表(每个对象代表一个数据帧)转换为单个逻辑数据帧

dfs = [dask.delayed(feather.read_dataframe)(f) for f in files]
df = dd.from_delayed(dfs)

如果可能,您还应该提供 meta=(零长度数据框,描述列、索引和数据类型)和 divisions=(索引沿分区的边界值) kwargs.