Pandas ein nice interface hat, die die Speicherung Dinge wie Dataframes und Serie in einem HDF5 erleichtert:Speicher Pandas Objekte mit regelmäßigen Python-Objekten in HDF5 entlang
random_matrix = np.random.random_integers(0,10, m_size)
my_dataframe = pd.DataFrame(random_matrix)
store = pd.HDFStore('some_file.h5',complevel=9, complib='bzip2')
store['my_dataframe'] = my_dataframe
store.close()
Aber wenn ich versuche, einige anderen regelmäßigen Python-Objekte in derselben zu speichern Datei, es klagt:
my_dictionary = dict()
my_dictionary['a'] = 2 # <--- ERROR
my_dictionary['b'] = [2,3,4]
store['my_dictionary'] = my_dictionary
store.close()
mit
TypeError: cannot properly create the storer for: [_TYPE_MAP] [group->/par
ameters (Group) u'',value-><type 'dict'>,table->None,append->False,kwargs-
>{}]
Wie kann ich stor E regelmäßige Python-Datenstrukturen in der gleichen HDF5, wo ich andere Pandas-Objekte speichern?
Vielen Dank! Übrigens bekomme ich 'PerformanceWarnings' mit einigen' store' Befehlen. Ich habe versucht, sie zu deaktivieren mit: 'import warnings; warnings.simplefilter (action = "ignoriere", category = PerformanceWarning) 'aber ich bekomme' Name 'PerformanceWarning' ist nicht definiert '. Weißt du, wie man sie stumm macht? –
Eigentlich sollte man darauf achten. Sie sagen im Grunde, dass Sie einen Datentyp speichern, den PyTables "einlegen" soll! Versuchen Sie, als Tabelle zu speichern (verwenden Sie entweder '' append'' oder '' store.put ('df', df, table = True) '', die im '' Table '' Format speichern, bessere Handhabung von Dingen wie '' nan'' bestimmte dtypes (dass das '' Storer''-Format Ihnen ein PerfWarning gibt. Siehe http://pandas.pydata.org/pandas-docs/dev/io.html#table-format – Jeff
Wenn Sie das wirklich wollen Stumm sie, versuchen: '' von pandas.io.pytables importieren PerformanceWarning''. aber sehen Sie meinen Kommentar oben. Dies ist aus einem bestimmten Grund – Jeff