h5文件读取、存储组织

H5文件全称是Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式,是一种常用的数据存储格式。python中用于读写H5文件的包是h5py。下面简要介绍其操作:

读取:

import h5pypath = 'Data/irt_PROSIT.hdf5' # 这里是h5文件的存储路径f = h5py.File(path, 'r')

查看该文件包含的那些数据

list(f.keys())# ['X_holdout', 'X_train', 'X_val', 'Y_holdout', 'Y_train', 'Y_val']

抽取某个数据:

data = f['X_val']

需要的时候可以把他转化为numpy格式

import numpy as npdata = np.array(data)

写入:

import pandas as pdf=h5py.File("new.hdf5","w")new_data = pd.DataFrame(np.zeros((10,10))) # 随意建立的数据f.create_dataset("mydataset", new_data)

h5文件是层次格式的第5代版本,用于存储科学数据的一种文件格式和库文件,由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据.

H5将文件结构简化成两个主要的对象类型:

1 数据集dataset,就是同一类型数据的多维数组

2 组group,是一种容器结构,可以包含数据集和其他组,若一个文件中存放了不同种类的数据集,这些数据集的管理就用到了group

直观的理解,可以参考我们的文件系统,不同的文件存放在不同的目录下:

目录就是hdf5文件中的group,描述了数据集DataSet的分类信息,通过group有效的将多种dataset进行管理和划分

文件就是hdf5文件中的dataset,表示具体的数据

下图就是数据集和组的关系:

 

h5文件是一种真正的层次结构,文件系统式的数据类型.另外在数据集中还有元数据,即metadata

对于每一个dataset而言,除了数据本身之外,这个数据集还有很多的属性信息.在hdf5中,同时支持存储数据集对应的属性信息,所有的属性信息的集合叫做metaData,下图是h5文件的数据集的构成

在pandas中读写hdf文件时,指定的key值指的是hdf文件中的group,

1 read_hdf(path_or_bufkey=Nonemode='r'**kwargs)

当要读取得h5文件中,只包含一个group时,可将key参数省略

2 to_hdf(path_or_bufkey**kwargs)

当写入h5文件时,必须指定写入的组,即key值不能省略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值