有一个包含许多 .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
那里提到了这一点,但解决方法尚不清楚。
是否可以在 dask 中完成上述操作?
最佳答案
您想要使用 from_delayed
而不是对数据帧进行操作的 concat
,它将延迟对象列表(每个对象代表一个数据帧)转换为单个逻辑数据帧
dfs = [dask.delayed(feather.read_dataframe)(f) for f in files]
df = dd.from_delayed(dfs)
如果可能,您还应该提供 meta=
(一个零长度数据框,描述列、索引和数据类型)和 divisions=
(边界值沿分区的索引)kwargs。
关于python - 将文件夹中的许多 Feather 文件加载到 dask 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57403908/