有没有人想从h5py更新hdf5数据集?假设我们创建了一个数据集,如:
import h5py
import numpy
f = h5py.File('myfile.hdf5')
dset = f.create_dataset('mydataset', data=numpy.ones((2,2),"=i4"))
new_dset_value=numpy.zeros((3,3),"=i4")
Run Code Online (Sandbox Code Playgroud)
是否可以将dset扩展为3x3 numpy阵列?
Yos*_*ian 14
您需要使用"extendedable"属性创建数据集.在初始创建数据集后无法更改此设置.为此,您需要使用"maxshape"关键字.元组None
中的值maxshape
意味着该维度可以是无限大小.那么,如果f
是HDF5文件:
dset = f.create_dataset('mydataset', (2,2), maxshape=(None,3))
Run Code Online (Sandbox Code Playgroud)
创建一个大小为(2,2)的数据集,该数据集可以沿第一维无限延伸,沿第二维延伸3.现在,您可以使用以下内容扩展数据集resize
:
dset.resize((3,3))
dset[:,:] = np.zeros((3,3),"=i4")
Run Code Online (Sandbox Code Playgroud)
第一个维度可以随意增加:
dset.resize((10,3))
Run Code Online (Sandbox Code Playgroud)