Я храню данные таймсерий в формате HDF5 в пандах. Поскольку я хочу иметь доступ к данным непосредственно на диске, я использую формат PyTable с table=True
при записи.
Похоже, что я теряю информацию о частоте моих объектов TimeSeries после их записи в HDF5.
Это можно увидеть, переключив значение is_table
в скрипте ниже:
import pandas as pd
is_table = False
times = pd.date_range('2000-1-1', periods=3, freq='H')
series = pd.Series(xrange(3), index=times)
print 'frequency before =', series.index.freq
frame = pd.DataFrame(series)
with pd.get_store('data/simple.h5') as store:
store.put('data', frame, table=is_table)
with pd.get_store('data/simple.h5') as store:
x = store['data']
print 'frequency after =', x[0].index.freq
с is_table = False
:
frequency before = <1 Hour>
frequency after = <1 Hour>
с is_table = True
:
frequency before = <1 Hour>
frequency after = None
Мне кажется, что PyTables предоставляет гораздо более богатый механизм хранения и что это не так.
Есть ли фундаментальная причина, по которой PyTables не может хранить или воспроизводить эту информацию? Или это возможный баг панды?