我有一个 Pandas DataFrame,其中的索引是(注意 Freq: H)-
<class 'pandas.tseries.index.DatetimeIndex'>
[2011-01-01 00:00:00, ..., 2013-12-31 23:00:00]
Length: 26304, Freq: H, Timezone: None
有多个列,但前几行(以及其他分散在各处的行)具有所有 NA 条目。如果我将其写入 HDF 文件:
hdfstore.put('/table', df, format='table', data_columns=True, append=False)
然后读回来:
df = hdfstore['/table']
并查看索引,我看到:
<class 'pandas.tseries.index.DatetimeIndex'>
[2011-01-11 04:00:00, ..., 2013-12-31 23:00:00]
Length: 24656, Freq: None, Timezone: None
请注意,Freq 现在为 None,并且行数更少,开始日期时间更晚。第一行现在是原始 DataFrame 的第一行,其中包含至少一个非 NA 列值。
首先,这种预期行为是由于 HDF5 格式的限制以及 DataFrames 的存储方式,还是一个错误?
有没有一种干净的方法来避免这种情况发生,或者我只需要在加载后“修复”索引。也不确定最好的方法是什么。