Ich versuche, Daten von einem Pandas-Datenrahmen in eine verschachtelte hdf5-Datei mit mehreren Gruppen und Datasets innerhalb jeder Gruppe zu schreiben. Ich möchte es als eine einzelne Datei behalten, die in der Zukunft täglich wachsen wird. Ich habe einen Sprung mit dem folgenden Code habe, die die Struktur von dem, was zeigt Ich mag würdeWie schreibe ich ein Pandas Dataframe in ein HDF5-Dataset
import h5py
import numpy as np
import pandas as pd
file = h5py.File('database.h5','w')
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
groups = ['A','B','C']
for m in groups:
group = file.create_group(m)
dataset = ['1','2','3']
for n in dataset:
data = df
ds = group.create_dataset(m + n, data.shape)
print ("Dataset dataspace is", ds.shape)
print ("Dataset Numpy datatype is", ds.dtype)
print ("Dataset name is", ds.name)
print ("Dataset is a member of the group", ds.parent)
print ("Dataset was created in the file", ds.file)
print ("Writing data...")
ds[...] = data
print ("Reading data back...")
data_read = ds[...]
print ("Printing data...")
print (data_read)
file.close(
)
diese Weise wird die verschachtelte Struktur geschaffen zu erreichen, aber es verliert den Index und Spalten. Ich habe die
df.to_hdf('database.h5', ds, table=True, mode='a')
versucht, aber hat nicht funktioniert, habe ich diesen Fehler
AttributeError: 'Dataset' object has no attribute 'split'
Kann jemand etwas Licht bitte. Vielen Dank
in den die Zukunft heißt Operationen wie riesig werden wird 'pandas' verwendet' pytables' Datenrahmen 'hdf5' Dateien zu schreiben. Es gibt SO Fragen, die diese Dateien mit 'h5py' suchen. Soweit ich mich erinnere, ist das Layout komplex, aber nicht unmöglich zu folgen. 'h5py' ist im Wesentlichen' numpy' iterface to 'hdf5'. – hpaulj
https://StackOverflow.com/Questions/41173254/how-should-i-use-h5py-lib-for-storing-time-series-data – hpaulj