Dask 数据框没有属性分类

Dask dataframe has no attribute categorize

我正在尝试将带有分类列的 Dask 数据框存储到每个 this tutorial - 1:23:25 - 1:23:45.[=25= 的 *.h5 文件中]

这是我对 store 函数的调用:

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

函数store是:

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

并使用 categorize.

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 在内部已经是惰性计算图。我相信通过调用计算,你实际上是将结果 pandas 数据帧传递给你的函数,这就是你得到错误的原因。

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