В Pandas есть следующие примеры того, как хранить Series
, 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
одну за другой, так как я не могу позволить себе хранить их все в памяти сразу, так как они занимают слишком много памяти. Возможно ли это с HDF5? Как правильно это сделать?- #P4# <блочная цитата> #P5# блочная цитата> #P6#