有没有办法在HDF5数据集中创建列名(由h5py
创建),而不必使用numpy.ndarray
作为数据结构?
对于包含N
行和M
列的数据集,我正在考虑以下内容:
with h5py.File("foo.h5py", "w") as f:
dset = f.create_dataset("bar", (N, M), dtype='int8', ...)
# Access columns via (of course, having defined the names somewhere before)
dset['col0'] = ... # equivalent to dset[:,0]
所以:需要有一种方法将列名传递给数据集并指定它们所属的轴。
这可能吗?我基本上寻找类似于结构化numpy数组的功能,但作为hdf5本机数据类型(即没有numpy数组)。
(这可能是显而易见的,但我有点卡住......)
上下文:我希望能够轻松调整数据集的大小,而使用h5py这很容易:例如dset.resize(num_columns + 1, axis=1)
用于添加新列
使用结构化的numpy
数组,它不会那么容易(我需要append_fields(...)
中的np.lib.recfunctions
和添加列的相当逻辑,这就是为什么我要避免这种方法。