SuperAPI AI 工具集

h5py

数据与分析

查看项目

更新于 10-16 03:05

技能介绍

用途:h5py 提供 HDF5 的 Pythonic 接口,用于存储远超内存的大型数值数据、把复杂科学数据组织成分层结构、以高速随机访问 NumPy 数组,并在不同语言间共享数据。主要能力:HDF5 文件包含数据集(多维数组)和分组(类似目录)两类对象;数据集支持标准 NumPy 切片,切片时只读取所需部分,降低内存占用;分组和数据集都可挂载属性以保存单位、日期、参数等元数据。安装:pip install h5py。基本用法:用 with h5py.File('data.h5','w') as f 打开文件,f.create_dataset('main_data', data=...) 写入数组,dset.attrs['units']='meters' 写入元数据;f.create_group('subgroup') 建立分组。读取时用 f['main_data'][0:10,0:10] 只读切片。创建数据集可配置 maxshape 以允许增长、chunks=True 或指定形状进行分块、compression="gzip" 压缩、fillvalue 默认值。可用 f.visititems 递归遍历结构,用路径如 f['/raw/2024/february'] 访问。性能上分块是最小读写单元,可据访问模式选择 chunks;还支持 SWMR 单写多读与 core 驱动把 HDF5 放在内存中。注意事项:务必使用上下文管理器关闭文件,避免误用 'w' 覆盖文件,不要用 [:] 把整个大数据集载入内存,不适合存成千上万个小数据集;成员访问前可用 'name' in group 检查;网络文件系统上可能需设置 HDF5_USE_FILE_LOCKING=FALSE;存储 Unicode 字符串可用 h5py.string_dtype(encoding='utf-8')。官方文档 https://docs.h5py.org/,HDF Group https://www.hdfgroup.org/。