2017-10-18 11 views
1

が、これはメモリにDASKのデータフレームのロードサブセットの有効な方法です。より小さなパンダにデータフレーム化する。また、私はdask dataframesがiloc属性を持っているとは思わない。 私はバージョン0.15.2を使用していますサブセットDASKのデータフレーム

ユースケースの点では、これはデータのバッチを深い学習(たとえばケラス)に読み込む方法になります。

答えて

1

データセットによく知られた部門がある場合、これは機能するかもしれませんが、代わりに1度に1つのパーティションを計算することをお勧めします。

for part in df.to_delayed(): 
    subset = part.compute() 

あなたは大体それが各パーティション内の行の固定数を保証するものではありませんが、その保証は可能性があるため、これは、まったく同じではありません事前に

for part in df.repartition(npartitions=100).to_delayed(): 
    subset = part.compute() 

を再分割することによってサイズを制御することができますデータがどのように取得されるかに応じて非常に高価になります。

+0

しかし、後者の方法では、データセット全体を正しく実行することができますか?私はこれを前もって行ったことにも言及すべきである: 'df = dd.from_pandas(df、16)'。それは衝突を引き起こすのでしょうか、あるいは別のパーティションをするだけでしょうか? –

+1

はい、これにはデータセット全体が含まれます。安全に再分割することができます。あるいは、異なる数のパーティションでfrom_pandasを呼び出すこともできます。いずれもここでうまくいくはずです。 – MRocklin

関連する問題