python - 将文件夹中的许多 Feather 文件加载到 dask 中

标签 python pandas dask feather

有一个包含许多 .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/

相关文章:

python - 在 Google App Engine 上自动生成站点地图

python - 两列上最近的匹配合并(pandas)

python - Pandas stack() 如果列具有特定值

python - 如何根据不同列中的值将一列添加到 pandas 数据框?

python - Dask 数据帧如何处理大于内存的数据集?

Python 控制函数的图形输出

python - 查找值最接近某个值的 k 个 dict 项

python - 使用 Dask 处理大型、压缩的 csv 文件

dask - 本地 Dask worker 无法连接到本地调度程序

python - 具有固定斜率的 linalg.lstsq?