Pandas (在熊猫中)为什么在HDF5中以表格形式存储时会丢失频率信息?
我在pandas中以HDF5格式存储timeseries数据,因为我希望能够直接访问磁盘上的数据,我在写入时使用的是PyTable格式,带有Pandas (在熊猫中)为什么在HDF5中以表格形式存储时会丢失频率信息?,pandas,hdf5,pytables,Pandas,Hdf5,Pytables,我在pandas中以HDF5格式存储timeseries数据,因为我希望能够直接访问磁盘上的数据,我在写入时使用的是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 = p
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>
在我看来,PyTables提供了更丰富的存储机制,但事实并非如此
PyTables不能存储或复制这些信息有什么根本原因吗?或者这是一个可能的错误pandas?刚刚从pandas确认,当前版本中没有实现这一点 请参阅:了解解决方案
当答案可用时,我会更新它。这个错误似乎已经在pandas 0.11.1中解决了,我们现在在0.13.1中解决了。。。
frequency before = <1 Hour>
frequency after = None