2016-12-09 19 views
0

в примере ниже, я пытаюсь сохранить мультииндекс pandas.DataFrame в h5 формате файлписать панда dataframe в hdf5 с помощью модуля pytables

import pandas as pd 
import numpy as np 
store = pd.HDFStore('c:/temp/example.h5') 
idx = pd.MultiIndex.from_arrays([['first']*3,['one','two','three']], names = ['outer','inner']) 
abc = pd.DataFrame(np.random.randint(1,100,9).reshape(-1,3), index = idx, columns = list('abc')) 

если я пытаюсь сохранить выше dataframe («ABC») для хранения, я получаю сообщение об ошибке, как показано ниже

store.put('abc',abc,format='t',append=True) 
TypeError: shape must be an integer or sequence: 3L 

я не получаю эту ошибку раньше, может быть, это может быть связано с обновлением версии для pytable. В настоящее время я использую версию 3.2.2. Любой указатель на то, что может быть альтернативным решением для хранения данных в формате h5?

ответ

0

Есть ли причина, по которой вы не можете использовать to_hdf function?

abc.to_hdf('c:/temp/example.h5') 
+0

Я все еще получаю ту же ошибку, даже с альтернативой, которую вы предлагаете. Я предполагаю, что под капотом оба метода одинаковы. –