2017-10-31 5 views
1

非常に大きな配列がhdf5ファイルに格納されています。私はそれをロードし、Dask配列として管理しようとしています。hdf5ファイルのシャッフルDask配列チャンク

私の挑戦は、私がプロセス内でこの配列の時間をシャッフルする必要があるということです。これはメモリよりも大きな配列をシャッフルするのは難しいことです。

だから私は成功なしでしようとしているのは、dask配列チャンクをシャッフルすることです。

#Prepare data 
f=h5py.File('Data.hdf5') 
dset = f['/Data'] 
dk_array = da.from_array(dset, chunks=dset.chunks) 

チャレンジをシャッフルするにはどうすればよいですか?

+0

あなたは達成したいことをより具体的にすることができます:どのようにシャッフルするのか、そしてどのように終了するのでしょうか? – mdurant

答えて

0

配列が表形式の場合は、ランダムデータ列(da.concatenateおよびda.randomを参照)を追加し、dask.dataframeに変換して、その列をインデックスとして設定することを検討してください。

警告として、これはディスク上のシャッフルを行う必要があるため、やや遅くなります。

+0

ありがとうございました。乾杯。 – Axel

関連する問題