【python基础】h5py库的基本使用
生活随笔
收集整理的這篇文章主要介紹了
【python基础】h5py库的基本使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
HDF(Hierarchical Data Format)是一種通用的跨平臺、壓縮性優異、靈活的數據存儲結構,常用作科學數據的保存。而h5py則是python提供的HDF文件處理庫。
h5py的核心概念包括:
(1)文件file,作為一種層次化的數據容器,file可理解為樹根;
(2)組group,存儲的索引,相當于樹的節點;
(3)數據集dataset,索引對應的存儲數據,相當于節點內存儲的數據;
(4)屬性attr,用來存儲額外的小塊元數據。
h5py支持層次化的group嵌套,如果將其類比于json格式,則group為key(索引),而group為value(數據)。
下面給出其典型的應用案例:
import numpy as np import h5py# 1. 寫入 f = h5py.File('./demo.h5', 'w') # 打開文件,更推薦用with管理上下文print(f.name) # '/', file相當于root print(f.keys()) # <KeysViewHDF5 []>, 所有group的名稱,相當于索引# 直接賦值 A = np.random.rand(100,100) f['numpy_A'] = A # f[key]=value直接賦值,存儲對應的group(numpy_A)和dataset(A) for name in f: # 等同于for name in f.keys()print(name) # numpy_A# 創建組 f.create_group('group_1') # 和numpy_A同級 print(f.keys()) # numpy_A group_1# 組內通過賦值的方式創建dataset B = np.random.rand(200,200) f['group_1']['numpy_B'] = B# 通過create_dataset創建dataset f['group_1'].create_dataset('mydataset', (10, 10), dtype='f')# 通過/直接同時創建group和dataset f.create_dataset('group_2/mydataset2', (20,20), dtype='f') print(f.keys()) # group_1 group_2 numpy_A# 創建屬性 f.attrs['name'] = 'Mia' # 關閉,存儲 f.close()# 2. 讀取 f = h5py.File('./demo.h5', 'r')print(f.keys())# 獲取屬性的key print(f.attrs.keys())# 遞歸遍歷 f.visit(lambda x:print(x))總結
以上是生活随笔為你收集整理的【python基础】h5py库的基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 后端游戏引擎调研-2021.07
- 下一篇: leg引擎适合什么系统的服务器,第一讲