【发布时间】:2019-01-05 18:34:49
【问题描述】:
我有一个包含 3d 数组和标签(0 或 1)的 2d 列表(Data_set),我想用两个数据集制作 h5py 文件,一个用于 3d 数组,另一个用于标签,这是我的代码为此: `
data = []
label = []
for i in range(len(Data_set)):
data.append(Data_set[i][0])# 3d array
label.append(Data_set[i][1])#label
data = np.array(data)
label = np.array(label)
dt = np.dtype('int16')
with h5py.File(output_path+'dataset.h5', 'w') as hf:
hf.create_dataset('data',dtype=dt ,data=data, compression='lzf')
hf.create_dataset('label', dtype=dt, data=label, compression='lzf')
【问题讨论】:
-
当您提供
data参数时,您不需要设置dtyoe。它可以从data自己的 dtype 中推断出来。 -
label.astype('S1')也可以——它可以保存字节串,但不能保存 unicode(PY3 的默认值),至少不能直接保存。
标签: python python-3.x numpy hdf5 h5py