私は巨大なHDF5ファイルを持っている、私はいくつかの操作を実行するために、その一部をpandas DataFrameにロードしたいが、私はいくつかの行をフィルタリングに興味があります。条件とのpandas DataFrameにHDF5ファイルを読む
私は例を挙げてよりよく説明することができます:
オリジナルHDF5ファイルのようなものになります。私が何をしようとしています何
A B C D
1 0 34 11
2 0 32 15
3 1 35 22
4 1 34 15
5 1 31 9
1 0 34 15
2 1 29 11
3 0 34 15
4 1 12 14
5 0 34 15
1 0 32 13
2 1 34 15
etc etc etc etc
をパンダに、それはまったく同じように、これをロードすることですデータフレームだけwhere A==1 or 3 or 4
今まで私はちょうど使用して全体のHDF5をロードすることができます。
store = pd.HDFStore('Resutls2015_10_21.h5')
df = pd.DataFrame(store['results_table'])
ここにwhere
の条件を含める方法はありません。
ありがとうございましたunutbu、ちょうどこの良い答えのいくつかのコメント。私はあなたの答えの初めにdfをh5に表形式で書き込むことを理解しています。しかし、私のスクリプトへの入力はすでに保存されているので、正しい形式であるかどうかをどのように知ることができますか? – codeKiller
'h5'ファイルが' table'フォーマットでない場合、 'where.'パラメータで' pd.read_hdf'を使用すると、 'TypeError:固定フォーマットから読み込むときにどこに指定を渡すことはできません。' ' 'A'が' data_column'として指定されていない 'h5'ファイルが' table'形式である場合、 'ValueError:'が渡されます。ここで、[1,3,4]の式Aには無効な変数参照... '。 – unutbu
h5ファイルを 'fixed'から' table'フォーマットに変換するか、 'data_columns'を追加するための素早く簡単な方法はわかりません。私が知る限り、あなたは 'h5'ファイル全体をDataFrameに読み込んで(または' chunksize'パラメータを使ってチャンクで行い)、それを書き出すか、別の 'h5'ファイルに追加する必要があります'table'フォーマットです。 – unutbu