我是一个新的python用户,我想从一个h5文件中读取数据。我用来读取数据的代码如下所示:
>>> import numpy as np
>>> import h5py
>>> f = h5py.File('file.h5', 'r')
>>> list(f.keys())
[u'data']
>>> dset = f[u'data']
>>> dset.shape
(64, 64, 64)
>>> dset.dtype
dtype(('<f8', (3,)))有人能帮我理解这些命令吗?我的问题是: 1.我可以通过u‘’data‘和dtype(())这两个术语来理解什么?
发布于 2018-11-21 23:08:03
正如@hpaulj提到的,h5py文档是一个很好的参考资料。您还需要了解基本的HDF5文件概念。这是一个大话题。首先,请查看HDF Group的Learning HDF5页面。我知道(根据个人经验),如果你不知道如何在层次结构中导航,你将会苦苦挣扎。了解Group和Dataset对象之间的区别。
下面是对您的操作中输出的解释。请注意,这些都是h5py函数(不是numpy)。
>>> list(f.keys())
[u'data']“key”是组成员的名称,“value”是成员(Group和Dataset对象)。这是文件根级别的节点名称列表。节点可以是组或数据集。在本例中,您有一个名为data的数据集。(此HDF5文件中唯一的组是根组:'/',根目录下没有组。)
下一步访问data数据集中的数据。
>>> dset = f[u'data']shape属性为您提供数据集的维度:
>>> dset.shape
(64, 64, 64)dtype属性为您提供数据集的数据类型(就像numpy一样):
>>> dset.dtype
type(('<f8', (3,)))所以,你有一个浮点数组。如果您想要查看数据,可以输入以下内容(我只对小数据集执行此操作,或者切片以打印几行):
>>> for row in dset:
print (row)从这里开始,您如何处理数据由您决定。
https://stackoverflow.com/questions/53404251
复制相似问题