【发布时间】:2019-12-07 04:01:00
【问题描述】:
我正在使用h5py 包为我的训练集创建HDF5 文件。
我想创建具有可变长度的第一列。例如,[1,2,3] 作为列中的第一个条目,[1,2,3,4,5] 作为第二个条目,依此类推,将 HDF5 文件中的其他 5 列保留在同一数据集中,数据类型为 int,长度固定,即 1。
我尝试了以下代码语句来解决这种情况:
dt = h5py.special_dtype(vlen=np.dtype('int32'))
datatype = np.dtype([('FieldA', dt), ('FieldB', dt1), ('FieldC', dt1), ('FieldD', dt1), ('FieldE', dt1), ('FieldF', dt1)])
但是,在输出中,对于这个数据集的上述每一列,我只得到了一个空数组。
而且,当我尝试以下代码时:
dt = h5py.special_dtype(vlen=np.dtype('int32'))
data = db.create_dataset("data1", (5000,), dtype=dt)
这只会给我一个数据集中具有可变长度条目的列,但我希望所有这 6 列都包含在同一个数据集中,但第一列具有如上所述的可变长度条目。
我完全不知道如何为这种情况找到解决方案。任何帮助将不胜感激。
【问题讨论】:
标签: python-3.x hdf5 h5py