get
(oder Indizierung) ruft einen Verweis auf das Dataset für die Datei ab, lädt jedoch keine Daten.
In [789]: list(f.keys())
Out[789]: ['dset', 'dset1', 'vset']
In [790]: d=f['dset1']
In [791]: d
Out[791]: <HDF5 dataset "dset1": shape (2, 3, 10), type "<f8">
In [792]: d.shape # shape of dataset
Out[792]: (2, 3, 10)
In [793]: arr=d[:,:,:5] # indexing the set fetches part of the data
In [794]: arr.shape
Out[794]: (2, 3, 5)
In [795]: type(d)
Out[795]: h5py._hl.dataset.Dataset
In [796]: type(arr)
Out[796]: numpy.ndarray
d
Der Datensatz wird Array wie, aber nicht tatsächlich ein numpy
Array.
Fetch den gesamten Datensatz mit:
In [798]: arr = d[:]
In [799]: type(arr)
Out[799]: numpy.ndarray
Genau wie der Datei yourslice hängt von dem Slicing, Datenlayout Chunking und anderen Dinge zu lesen, es hat zu holen, die nicht unter Ihrer Kontrolle sind im Allgemeinen und sollte dich nicht beunruhigen.
Beachten Sie auch, dass ich beim Lesen eines Datensatzes die anderen nicht lade. Gleiches würde für Gruppen gelten.
http://docs.h5py.org/en/latest/high/dataset.html#reading-writing-data