我是hdf5的新手,并试图将DataFrame行存储为hdf5格式。我要在文件中的不同位置附加一行;但是,每次附加时,它都会显示在单列中的数组中,而不是显示在多列中的单个值中。
我已经尝试了h5py和pandas,看来pandas是附加的更好选择。另外,我确实尝试了很多不同的方法。的确,任何帮助将不胜感激。
这是我多次将数组发送到hdf5文件中。
import pandas as pd
import numpy as np
data = np.zeros((1,48), dtype = float)
columnName = ['Hello'+str(y) for (x,y), item in np.ndenumerate(data)]
df = pd.DataFrame(data = data, columns =columnName)
file = pd.HDFStore('file.hdf5', mode = 'a', complevel = 9, comlib = 'blosc')
for x in range(0,11):
file.put('/data', df, column_data = columnName , append = True, format = 'table')
答案 0 :(得分:0)
In [243]: store = pd.HDFStore('test.h5')
这似乎很好:
In [247]: store.put('foo',df,append=True,format='table')
In [248]: store.put('foo',df,append=True,format='table')
In [249]: store.put('foo',df,append=True,format='table')
In [250]: store['foo']
Out[250]:
Hello0 Hello1 Hello2 Hello3 Hello4 ... Hello43 Hello44 Hello45 Hello46 Hello47
0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0
0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0
0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0
[3 rows x 48 columns]