PandasSeries
には、DataFrames
をPanels
HDF5 ファイルに格納する方法について、次の例があります。
いくつかのデータを準備します。
In [1142]: store = HDFStore('store.h5')
In [1143]: index = date_range('1/1/2000', periods=8)
In [1144]: s = Series(randn(5), index=['a', 'b', 'c', 'd', 'e'])
In [1145]: df = DataFrame(randn(8, 3), index=index,
......: columns=['A', 'B', 'C'])
......:
In [1146]: wp = Panel(randn(2, 5, 4), items=['Item1', 'Item2'],
......: major_axis=date_range('1/1/2000', periods=5),
......: minor_axis=['A', 'B', 'C', 'D'])
......:
ストアに保存します。
In [1147]: store['s'] = s
In [1148]: store['df'] = df
In [1149]: store['wp'] = wp
ストアにあるものを調べます。
In [1150]: store
Out[1150]:
<class 'pandas.io.pytables.HDFStore'>
File path: store.h5
/df frame (shape->[8,3])
/s series (shape->[5])
/wp wide (shape->[2,5,4])
閉店:
In [1151]: store.close()
質問:
上記のコードで、データが実際にディスクに書き込まれるのはいつですか?
.csv
ファイルに存在する何千もの大きなデータフレームを単一のファイルに追加したいとし.h5
ます。それらを読み込んで.h5
ファイルに 1 つずつ追加する必要があるのは、メモリを大量に消費するため、一度にすべてをメモリに格納する余裕がないためです。これは HDF5 で可能ですか? それを行う正しい方法は何ですか?パンダのドキュメントには、次のように記載されています。
「これらのストアは、一度書き込まれると追加できません(削除して書き直すだけです。また、クエリもできません。全体を取得する必要があります。」
appendable でも queryable でもないとはどういう意味ですか? また、書かれているのではなく、一度閉じられたと言うべきではありませんか?