h5py:不使用复合dtype的列名?

时间:2016-12-19 17:15:36

标签: python numpy hdf5 h5py

有没有办法在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和添加列的相当逻辑,这就是为什么我要避免这种方法。

0 个答案:

没有答案