【发布时间】:2020-06-12 13:22:55
【问题描述】:
我有以下代码sn-p:
import h5py
import numpy
## Data set with shape (5, 5) and numpy array containing column names as string
data = numpy.random.random((5, 5))
column_names = numpy.array(["a", "b", "c", "d", "e"])
## Create file pointer
fp = h5py.File("data_set.HDF5", "w")
## Store data
fp["sub"] = data
## Close file
fp.close()
如何为HDF5 file 中的列添加名称,如附图中的箭头所示?
【问题讨论】:
-
你试过使用属性
attrs吗? -
我认为link 可能会有所帮助。
-
@AnuragReddy 正确的语法是什么?我试过:
fp.attrs["FIELD_MANY"] = column_names、fp.attrs["column_name"] = column_names、fp.attrs["column_1_name"] = "a"。但是,这不会产生预期的结果。 -
h5py使用 numpy 数组,而不是tables。这些数组不使用自定义行或列标签。numpy结构化数组使用字段名称,但我不确定您是否想更改数组只是为了获取名称。pandas使用 pytables 与 HDF5 交互。您可以尝试将数组加载到数据框中并保存。
标签: python numpy concatenation hdf5 h5py