問題タブ [dask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dask - dask Series フィルタリングの最適化 - Series.isin() の遅延バージョン
私は現在、より大きな計算の中に次のパターンを埋め込んでいます
はseq3
ブール値シリーズです。パフォーマンスは許容できるように見えますが、見苦しく、compute()
強制評価の使用により、並列処理の機会が失われる可能性があります。簡単に言うと
seq1.isin(seq2[seq3].unique())
は機能せず、ドキュメントによると、への引数isin
は (Numpy だと思います) 配列でなければなりません。
上記のコードを書くためのより良い方法はありますか? seq1
とが同じ場合はどうなりseq2
ますか?
python - csvをdaskのデータフレームにインポートするときに列に名前を付ける
Python で dask を使用して csv をデータフレームにインポートするときに、列に名前を付けたいと思います。使用するコードは次のようになります。
各列の名前を持つ配列を使用したいと思います。
names = ['tribute', 'percent_countries_active', 'num_wars', 'num_tributes', 'war', 'war_to_tribute_ratio', 'US_wealth', 'UK_wealth', 'NZ_wealth' ]
これは直接行うことは可能ですか?
python - daskモジュールを使用して大きなtxtファイルを読み取る
次のようにdaskを使用して大量のデータを読み込もうとしています
これは正常に機能し、パーティションのセットを取得しますが、何らかの理由で、以下のように設定してインデックスを作成しようとするたびに:
マシンのメモリが不足していて、その理由がわかりません
python-2.7 - Python das 配列オブジェクトへの項目の割り当て
Python dask 配列を作成しました。配列のスライスを次のように変更しようとしています。
このように dask 配列を変更しようとすると、例外が発生します。
例外を発生させずに dask 配列スライスを変更する方法はありますか?
python - Dask データフレームはメモリを超えるデータセットをどのように処理しますか?
データフレーム用の Dask パッケージのドキュメントには、次のように記載されています。
Dask データフレームは pandas データフレームのように見えますが、複数のスレッドを使用してメモリよりも大きなデータセットを操作します。
しかし、後で同じページで:
1 つの dask DataFrame は、インデックスに沿って分離された複数のインメモリ pandas DataFrame で構成されます。
Dask はディスクから異なる DataFrame パーティションを順番に読み取り、メモリに収まるように計算を実行しますか? 必要に応じて一部のパーティションをディスクにスピルしますか? 一般に、Dask はデータのメモリ <--> ディスク IO をどのように管理して、メモリよりも大きなデータ分析を可能にしますか?
10M MovieLens データセットでいくつかの基本的な計算 (平均評価など) を実行しようとしたところ、ラップトップ (8GB RAM) がスワップし始めました。
python - dask 配列の軸に沿って関数を適用する
4D データ配列 (時間、深さ、緯度、経度。以下dask_array
に示す) の形状は通常 (6000, 31, 189, 192) で、サイズは ~25GB (したがって、dask を使用したいのですが、numpy を使用してこれらの配列を処理しようとすると、メモリ エラーが発生します)。
各レベル/緯度/経度のポイントで時間軸に沿って 3 次多項式を当てはめ、結果の 4 つの係数を保存する必要があります。したがってchunksize=(6000, 1, 1, 1)
、グリッド ポイントごとに個別のチャンクがあるように設定しました。
これは、3 次多項式の係数を取得するための私の関数です (time_axis
軸の値は、他の場所で定義されたグローバルな 1D numpy 配列です)。
(したがって、この場合、numpy.polyfit
長さ 4 のリストを返します)
これは、各チャンクに適用する必要があると思ったコマンドです。
これにより、時間軸がなくなり (したがってdrop_axis=0
)、その場所に (長さ 4 の) 新しい係数軸があります。
このコマンドを実行すると が表示されるので、どこでどのように?IndexError: tuple index out of range
の使用を誤解したのか疑問に思っています。map_blocks