get
(または索引付け)は、ファイルのデータセットへの参照をフェッチしますが、データはロードされません。
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
データセットは、配列のようにではなく、実際にnumpy
配列です。
で全体のデータセットを取得する:それはyoursliceはスライス、データレイアウト、チャンキング、そして一般的にあなたのコントロール下にない他のものに依存して取得するために読まなければならない正確にどのようにファイルの
In [798]: arr = d[:]
In [799]: type(arr)
Out[799]: numpy.ndarray
あなたを心配するべきではありません。
また、1つのデータセットを読み込むときに、他のデータセットを読み込んでいないことにも注意してください。グループにも同じことが適用されます。
http://docs.h5py.org/en/latest/high/dataset.html#reading-writing-data