dask
Dask分散コンピューティングでpandasとNumPyをスケール
こちらからも入手できます: davila7
並列コンピューティングを使用して、利用可能なRAMより大きなデータセットを処理します。コードを書き換えることなく、単一マシーンのpandasとNumPyのワークフローを複数のコアまたは分散クラスターで実行するように変換します。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「dask」を使用しています。 複数のCSVファイルを読み取り、それらを1つのDask DataFrameに結合するにはどうすればよいですか?
期待される結果:
- globパターンを使用して複数のファイルを読み取るにはdd.read_csvを使用します: ddf = dd.read_csv('data/2024-*.csv')
- read_csv関数はレイジーです - データを読み込むことなくタスクグラフを構築します
- 結合後、グループ化和集計などの操作をレイジーに実行します
- 最終結果が必要な場合にのみ.compute()を呼び出します
「dask」を使用しています。 Dask ArraysとDask DataFramesはいつ使用する必要がありますか?
期待される結果:
- NumPy操作に適合する数値データにはArraysを使用します - 科学計算、画像処理、行列操作
- 名前付き列を持つ表形式データにはDataFramesを使用します - データベースのような操作、CSV処理、構造化データ
- BagsはArraysまたはDataFramesに変換する前にテキストやJSONなどの非構造化データを処理します
- Futuresは動的でインタラクティブな並列ワークワークに対してきめ細かな制御を提供します
「dask」を使用しています。 Daskでメモリエラーを回避するにはどうすればよいですか?
期待される結果:
- チャンクサイズをチャンクあたり約100MBまたはコアあたり10チャンクにします
- まずpandasにデータをロードしてから変換しないでください - Daskリーダーを直接使用してください
- ループ内で.compute()を繰り返し呼び出さないでください - 代わりに複数の結果を一度に取得するにはdask.compute()を使用してください
- ダッシュボードを使用してメモリ使用量を監視し、問題のあるタスクを特定します
セキュリティ監査
安全Pure documentation skill with no executable code. All 448 static findings are false positives. The analyzer misinterpreted markdown inline code formatting (backticks like `dask.compute()`) as shell execution, and flagged legitimate computing terms like 'md5', 'command', 'control', 'connect' as security threats. This is standard Dask library documentation teaching parallel computing patterns.
リスク要因
📁 ファイルシステムへのアクセス (1)
🌐 ネットワークアクセス (1)
品質スコア
作れるもの
pandasワークフローのスケーリング
インポートを切り替え、最小限のコード変更でDask DataFramesを使用して、RAMを超えるデータセットを処理するようにpandasコードを変換します。
並列モデルのトレーニング
Dask Futuresを使用して、複数のワーカーにデータ前処理とモデル推論を分散し、ハイパーパラメータスイープを行います。
大規模配列の処理
Dask Arraysとチャンク化された操作を使用して、メモリを超えるHDF5またはZarrファイルから科学データセットを操作します。
これらのプロンプトを試す
RAMを超えるデータセットにDaskを使用するようにpandas DataFrameコードを変換する方法を教えてください。複数のCSVファイルの読み取りとグループ化操作の両方を含みます。
HDF5またはZarrファイルからDask Arraysを作成し、最適なチャンクサイズで処理する方法を説明します。チャンクサイズの選択方法と削減操作の方法を含みます。
動的なタスク送信にDask Futuresを使用する方法をデモンストレーションします。ローカルクラスターのセットアップ、大きなデータの散在、依存するタスクからの結果収集を含みます。
Daskワークフローの最適化を支援します。適切なスケジューラの選択方法、ダッシュボードを使用したボトルネック特定、誤ったチャンクサイズによるメモリ問題の修正を理解したいですか。
ベストプラクティス
- 最初からDaskにデータ処理を任せる - Daskコレクションに変換する前にローカルでpandasオブジェクトを作成することを避ける
- バランスの取れた並列処理とメモリ使用量のために、100MBのチャンクサイズとワーカーコアあたり10チャンクを目標にする
- map_partitionsまたはmap_blocksを使用して、複数の操作を単一のタスクに融合し、スケジューリングオーバーヘッドを削減する
回避
- ループ内で.compute()を呼び出すと、各反復に対して個別のタスクグラフが作成されます - 代わりにdask.compute(*computations)を使用してください
- Daskに渡す前にデータセット全体をpandasにロードすることは、目的を台無しにします - Daskリーダーを直接使用してください
- 純粋なPythonコード(テキスト処理、カスタム関数)にスレッドスケジューラを使用することは避けてください - GIL競合を避けるためにプロセスに切り替えてください