Возникли проблемы с получением нескольких столбцов в табличных данных HDF5 - PullRequest
0 голосов
/ 20 сентября 2019

Я новичок в hdf5 и пытался сохранить строку DataFrame в формате hdf5.Я должен был добавить строку в разных местах в файле;однако каждый раз, когда я добавляю его, он отображается в массиве в одном столбце, а не в одном значении в нескольких столбцах.

Я пробовал и h5py, и панд, и кажется, что панды - лучший вариант для добавления.Кроме того, я действительно пробовал много разных методов.Действительно, любая помощь будет принята с благодарностью.

Здесь я отправляю массив несколько раз в файл 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')

1 Ответ

0 голосов
/ 21 сентября 2019
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]
...