我想将pandas DataFrame
对象附加到现有的h5py
文件中,无论是作为子组还是数据集,都包含所有索引和标头信息。那可能吗?我尝试了以下方法:
import pandas as pd
import h5py
f = h5py.File('f.h5', 'r+')
df = pd.DataFrame([[1,2,3],[4,5,6]], columns=['A', 'B', 'C'], index=['X', 'Y'])
f['df'] = df
在其他脚本中,我想访问f.h5
,但f['df'][()]
的输出为array([[1, 2, 3],[4, 5, 6]])
,但不包含标题信息。
答案 0 :(得分:1)
如果您没有绑定pd.DataFrame.to_hdf()
pd.read_hdf()
和h5py
文档:http://pandas.pydata.org/pandas-docs/stable/io.html#io-hdf5
要写入h5文件:
df = pd.DataFrame([[1,2,3],[4,5,6]],
columns=['A', 'B', 'C'], index=['X', 'Y'])
df.to_hdf('f.h5', 'table',append=True)
然后你可以阅读:
df2 = pd.read_hdf('f.h5', 'table')
print(df2)
A B C
X 1 2 3
Y 4 5 6
你也可以追加
df2.to_hdf('f.h5', 'table', append=True)
pd.read_hdf('f.h5', 'table')
A B C
X 1 2 3
Y 4 5 6
X 1 2 3
Y 4 5 6