問題タブ [hdfstore]

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.

0 投票する
1 に答える
101 参照

python - groupby 操作が必要なときにチャンク データを操作する

、、のdf3 つの列を持つデータセットがあります。key_val でグループ化し、これらのグループに関して(resp. ) の合計を抽出します。これが私のコードです:'String_key_val''Float_other_val1''Int_other_val2'val1val2

私の問題は次のとおりです。エントリ データセットが 10GB で、4Go RAM を使用しているため、計算をチャンクする必要がありますが、方法がわかりません。を使おうと思ったのですHDFStoreが、数値データセットを構築するだけなので、 complete を格納する意味がなく、単純な配列を格納できDataFrameないと思います。HDFStore私に何ができる?

0 投票する
1 に答える
18064 参照

python - pandas - DataFrame の選択した列のみを HDF5 に保存する方法

csv サンプル ファイルを読み込んで、.h5 データベースに保存しています。.csv は次のように構成されています。

pandas to_hdf を使用して .h5 ストアに配置し、.h5 にいくつかの列のみを渡すことを選択しました。

特に、HDFStore と read_hdf を使用して、.h5 ファイルに格納された列で異なる結果が得られました。

ncols->6 は、実際にはすべての列が .h5 ファイルに格納されていることを意味しますが、これは私が期待するものです (「User_ID」列と「Year」列のみがデータベースに格納されます)。

pd.read_hdf でファイルを読み込もうとすると:

そしてキーを求めます:

元の .csv ファイルのすべての列がまだ .h5 データベースにあるため、これは私が期待するものではありません。データベースのサイズを縮小するために、選択した列のみを .h5 に保存するにはどうすればよいですか?

ご協力いただきありがとうございます。

0 投票する
1 に答える
609 参照

python - pandas HDF select が列名を認識しない

処理が必要なデータのサブセットを含む別の書式設定された csv を生成するために、4 GB の RAM しかないマシンで大きな (2 GB) csv ファイルを処理しようとしています (質問しないでください)。ファイルを読み取り、後で出力に必要なデータを照会する HDFstore を作成しています。Termを使用してストアからデータを取得できないことを除いて、すべてが機能します-PLOTが列名ではないというエラーメッセージが返されます。個々の変数は正常に見え、ストアは私が期待するものであり、エラーがどこにあるのかわかりません。(nb パンダ v14 および numpy1.9.0)。これは非常に新しいので、ぎこちないコードをお詫びします。

0 投票する
3 に答える
5853 参照

python-2.7 - すべてのセルに辞書のリストがあるパンダ列を処理する方法

すべてのセルが辞書のリストで構成され、辞書の各リストがさまざまな長さ (0 を含む) である列を含む DataFrame があります。

例:

「count」は「RANKS」内の辞書の数であることに注意してください。私が念頭に置いていた目標は、一連の追加のデータフレーム/テーブル (「ランク」ごとに 1 つ) を作成し、これらを HDFStore のメイン テーブルにリンクすることでした。何かのようなもの:

このようにして、必要に応じて ID とランクを簡単に照会できますが、この階層データの巻き戻しによってメイン テーブルが乱雑になることはありません。

ただし、問題は、この列からデータフレームを作成する方法がわからないことです。私は多くのことを試しました.最初のものです(機能する場合はforループにネストされますが、もちろん機能しませんでした):

そして、2 つ目は、価格が私にとって最も重要な要素であるためです。

次に float に変換します。これは機能しますが、かなり大きな妥協点です。ランクごとに個別の DataFrames という私の目標を達成するための効率的な方法 (NaN にハングアップしない) はありますか?

0 投票する
1 に答える
787 参照

python - Pandas HDFStore ネストされた列から選択

HDFStore オブジェクトに data という frame_table として格納されている次の DataFrame があります。

したいのですstore.select('data','shipmentid==2')が、「shipmentid」が定義されていないというエラーが表示されます。

この選択ステートメントを記述する適切な方法は何ですか?

編集: サンプル コードの追加

0 投票する
0 に答える
900 参照

python - HDF Store: float-tuple のリストをファイルに保存

1 つの列に gps 座標のリストが float-tuples として含まれている大きな csv ファイルがあります。もちろん、ファイルを pandas データフレームとして読み込むと、それらの型は単なる文字列であり、あまり役に立ちません。

私がやりたいことは、文字列を浮動小数点タプルのリストに変換し、データフレームに簡単にロードしてクエリを実行できる形式で保存することです。これに関する重要な制約は、大きなデータセット全体に対してこの変換を計算できないことです。そのため、バイナリ オブジェクトをダンプすることはできません。

私が読んだことから、HDFストアは必要な形式でデータを保存し、行を追加できるようにする必要があるようです。そのため、文字列をGPSエントリに少しずつ変換できるため、メモリに問題は発生しません制限。

ただし、HDF ファイルを作成しようとすると、次のようになります。

このエラーを生成するコードは次のとおりです。

df には、変換関数を POLYLINE 列にマッピングした後、元のデータのスライスが含まれています。これは、少なくとも、この列のすべてのデータが同じ型であることを意味するはずです。

生成されたエラーを解決するにはどうすればよいですか、またはうまく機能する可能性のある他の方法はありますか?

編集:変換前の df.head() は次のようになります:

POLYLINE 列を変換した後 (スペースを節約するために他の列を除外します):

結果の出力もタプルのリストではなくリストのリストになるように変更しました。これらの 1 つの要素を調べると、変換前のエントリが文字列であり、内部リストの 1 つの項目が浮動小数点数であることがわかりますが、出力方法ではこれが明確になりません。