Dask 数据帧没有属性分类



我正在尝试根据本教程将带有分类列的 Dask 数据帧存储到*.h5文件中 - 1:23:25 - 1:23:45。

以下是我对store函数的调用:

stored = store(ddf,'/home/HdPC/Analyzed.h5', ['Tag'])

store函数为:

@delayed
def store(ddf,fp,c):
    ddf.categorize(columns=c).to_hdf(fp, '/data2')

和用途分类。

ddfstored的类型是:

print(type(ddf), type(stored))
>>> (<class 'dask.dataframe.core.DataFrame'>, <class 'dask.delayed.Delayed'>)

当我运行compute(*[stored])stored.compute()时,我得到这个:

dask.async.AttributeError: 'DataFrame' object has no attribute 'categorize'

有没有办法使用 store 函数实现Tag列的这种分类?还是应该使用其他方法来存储具有分类的 Dask 数据帧?

我建议您尝试没有延迟调用的数据帧操作 - daak-dataframes在内部已经是惰性计算图。我相信通过调用计算,您实际上是将生成的熊猫数据帧传递给您的函数,这就是您收到错误的原因。

在您的情况下:只需删除@delayed(请记住to_hdf是阻止调用(。

最新更新