私は、次のパンダのデータフレームがあります。今Pandas DataFrameをHDFS PyTablesテーブル(またはCArray、EArrayなど)としてどのように格納しますか?
import pandas as pd
df = pd.read_csv(filename.csv)
を、私は(Pythonの辞書にキーと値のペアを追加するように)ファイルにdf
オブジェクトを書き込むためにHDFStore
を使用することができます。
store = HDFStore('store.h5')
store['df'] = df
http://pandas.pydata.org/pandas-docs/stable/io.html
コンテンツを見ると、このオブジェクトはframe
です。
store
出力
<class 'pandas.io.pytables.HDFStore'>
File path: store.h5
/df frame (shape->[552,23252])
しかし、索引付けを使用するために、一方がtable
オブジェクトとしてこれを保存するべきです。
私のアプローチはHDFStore.put()
すなわち
HDFStore.put(key="store.h", value=df, format=Table)
を試してみましたが、これはエラーで失敗します。
TypeError: put() missing 1 required positional argument: 'self'
どのように1はPyTablesテーブルとしてパンダデータフレームを保存しますか?
ありがとうございます。これをCArrayまたはEArrayとしてどのように保存しますか? – JianguoHisiang
@JianguoHisiang、私はCArray/EArrayの経験がないので、あなたの質問には答えられません。しかし、HDFStoreの何が間違っていますか?私の答えは助けになりましたか? – MaxU
はい、正しいです。しかし、私はこの 'frame_table'オブジェクトを照会する方法がわかりません( 'table'オブジェクトではありません)。通常、 'col1'が索引付けされている場合は、 ' result = [table.where( 'col1> 100&col1 <200')] 'の行の行を試します。 – JianguoHisiang