問題タブ [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.
python-3.x - python3 での dask.array のインストール/使用
dask モジュール ( https://github.com/ContinuumIO/dask ) をテストしてビッグ データ配列を操作していますが、これまでのところ機能させることができませんでした。一見すると、予約済みの名前またはそれに類似したものと競合しているように見えます。
インストールは、ubuntu で $pip3 install dask を使用して行われ、IPython 1.2.1 と Python 3.4.0 でテストされました。
最小限の非動作例を添付します。
何か案は?
ありがとう!!
python - python dask DataFrame、(自明に並列化可能な)行のサポートが適用されますか?
最近、使いやすい Python 並列処理モジュールを目指したdaskモジュールを見つけました。私にとっての大きなセールスポイントは、パンダで動作することです。
マニュアルページを少し読んだ後、この簡単に並列化可能なタスクを実行する方法が見つかりません。
現時点では、これをダスクで達成するために、AFAIK、
これは醜い構文であり、実際には完全よりも遅いです
なにか提案を?
編集:マップ機能について@MRocklinに感謝します。普通のパンダが適用するよりも遅いようです。これは pandas GIL リリースの問題に関連していますか、それとも間違っていますか?
dask - ゴーストを伴う個々の das アレイ境界
有限差分を使用していくつかの単純な PDE ソルブを設定しようとしているDaskで遊んでいます。境界ごとに境界条件を指定する方法があるかどうか疑問に思っています。
ドキュメントはこちら
現在のghost.ghost
関数では、いくつかの異なる BC を指定できますが、y 境界と x 境界の両方で常に同じです。
ドキュメントには、境界を任意に埋めることができると記載されていますが、それは喜んで行いますが、チャンクの外側に境界を追加ghost.ghost
しないように指示する方法はありますか?
dask - daskを使用して列を削除したり、データフレームをスライスしたりできませんか?
2.6GBのcsvファイルがあるため、パンダの代わりにdaskを使用しようとしています。ロードして、列を削除したい。しかし、ドロップメソッド df.drop('column') もスライス df[ : , :-1] もないようです
まだ実装されています。これは事実ですか、それとも何かが足りないのですか?
python - メモリ効率の良い方法で大きな csv をスパース パンダ データフレームに読み込む
pandasread_csv
関数には sparse オプションがないようです。大量のゼロを含む csv データがあります (非常によく圧縮され、0
値を取り除くと元のサイズのほぼ半分に縮小されます)。
最初に密行列にロードしてからread_csv
を呼び出してみましto_sparse
たが、ほとんどのデータは浮動小数点ですが、長い時間がかかり、テキスト フィールドでチョークします。pandas.get_dummies(df)
カテゴリ列を 1 と 0 に変換するために最初に呼び出すto_sparse(fill_value=0)
と、1,200 万のエントリがあり、ほとんどが 0 のほとんどが数値のテーブルで予想されるよりもはるかに長い時間がかかります。これは、元のファイルからゼロを取り除いて呼び出しto_sparse()
ても (フィル値が NaN になるように) 発生します。kind='block'
これは、合格かかに関係なく発生しkind='integer'
ます。
スパース データフレームを手動で構築する以外に、不要なメモリを消費せずにスパース csv を直接ロードする適切でスムーズな方法はありますか?
3 列の浮動小数点データと 1 列のテキスト データを持つサンプル データセットを作成するコードを次に示します。float 値の約 85% はゼロであり、CSV の合計サイズは約 300 MB ですが、メモリの制約を実際にテストするには、これをさらに大きくすることをお勧めします。
そして、これはそれを読むための簡単な方法ですが、より良い、より効率的な方法があることを願っています:
編集して追加 (JohnE から): 可能であれば、回答に大きな CSV を読み取る際の相対的なパフォーマンス統計をいくつか提供してください。これには、メモリ効率を測定した方法に関する情報も含まれます (特に、メモリ効率はクロック時間よりも測定が難しいため)。特に、メモリ効率が高い場合は、より遅い (クロック タイム) 回答がここでの最良の回答になる可能性があることに注意してください。
python - hdf5 pythonとしてのコア4Dイメージtifストレージから
3D 画像のムービーのスライスを表す 27GB の 2D tiff ファイルがあります。このデータを単純な numpy4d 配列であるかのようにスライスできるようにしたいと考えています。dask.array は、配列が hdf5 ファイルとしてメモリに格納されると、配列をきれいに操作するための優れたツールのようです。
これらのファイルがすべてメモリに収まらない場合、最初にこれらのファイルを hdf5 ファイルとして保存するにはどうすればよいですか。私は h5.py とデータベース全般に不慣れです。
ありがとう。
python - HDF5 ファイルのリストからの dask データフレームの作成
HDF5ファイルのリストからdask.dataframeを作成する正しい方法は何ですか? 私は基本的にこれをやりたいのですが、データフレームで
pandas - dask データフレームの行と列を変更するにはどうすればよいですか?
私が Dask Dataframes で抱えている問題はほとんどありません。
2列のデータフレームがあるとしましょう['a','b']
新しい列が必要な場合c = a + b
パンダで私はするだろう:
ダスクでは、次のように同じ操作を行っています。
パンダで行うのと同じように、この操作をより良い方法で書くことは可能ですか?
2 番目の質問は、私をさらに悩ませているものです。
パンダ'a'
で行 2 & 6の値を に変更したい場合np.pi
は、次のようにします。
Daskで同様の操作を行う方法を理解できませんでした。私のロジックはいくつかの行を選択し、それらの行の値のみを変更したいと考えています。
pandas - タブレータで区切られた CSV をブレイズで読み取るにはどうすればよいですか?
次の形式の「CSV」データファイルがあります(まあ、むしろTSVです):
このファイルはそのままで解釈可能ですpandas
:
ただし、それを読み込もうとするとblaze
(pandas キーワード引数を使用することを宣言します)、例外がスローされます。
これらの作品やパンダは一切使用されていません。列の名前と型を推測しようとする「スニファー」はcsv.Sniffer.sniff()
、標準ライブラリから呼び出すだけです (これは失敗します)。
このファイルを blaze で適切に読み取る方法はありますか (その「弟」が数百 MB であるため、blaze の順次処理機能を使用したいと考えています)。
アイデアをありがとう。
編集: odo/csv の問題かもしれないと思い、問題を提出しました: https://github.com/blaze/odo/issues/327
Edit2: 完全なエラー: