2017-05-20 13 views
0

- 1:23:25 - 1:23:45に、*.h5ファイルにカテゴリ型列のDaskデータフレームを格納しようとしています。ここでDask dataframeには属性がありません。

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' 

はとTag列のこの分類を達成する方法はありますstore機能?または、Daskデータフレームをカテゴリ別に格納する別の方法を使用する必要がありますか?

答えて

2

遅延コールなしでデータフレーム操作を試すことをお勧めします.Daak-dataframesは、内部的に遅延計算グラフです。私はcomputeを呼び出すことによって、実際に結果として得られるパンダのデータフレームを関数に渡していると考えています。そのため、エラーが発生します。

あなたの場合:単に@delayedを削除してください(to_hdfはブロッキングコールです)。

+0

あなたの説明をありがとう。 –

関連する問題