我有一个HDF5文件,其中包含一个具有列名的2D表。当我在这个名为results
的对象上拾取时,它在HDFView中显示出来。在
原来,results
是一个“复合数据集”,是一个一维数组,其中每个元素都是一行。以下是HDFView显示的属性:
dataset_properties.png" alt="Dataset properties"/>
我可以得到这个对象的句柄,我们称之为res
。在
列名是V2pt
,R2pt
,等等
我可以将整个数组作为数据读取,也可以使用
res[0,...,"V2pt"].
这将返回第V2pt
列第一行中的数字。将0
替换为1
将返回第二行值,依此类推
如果我事先知道列名的话,那就行了。但我没有
我只想得到整个数据集及其列名。我怎么能做到呢?在
我看到HDF5文档中的HDF5 documentation中有一个get_field_info
函数,但我在h5py中找不到这样的函数。在
我完蛋了吗?在
更好的解决方案是将此表读作pandas数据帧。。。在
这在h5py中很容易实现,就像Numpy中的复合类型一样。 如果
res
是数据集的句柄,res.dtype.fields.keys()
将返回一个 所有字段名的列表。在如果你需要知道一个特定的
dtype
,类似res.dtype.fields['V2pt']
的东西就可以得到。在相关问题 更多 >
编程相关推荐