您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“python3如何使用hdf5文件”,內容詳細,步驟清晰,細節處理妥當,希望這篇“python3如何使用hdf5文件”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
先引用一波維基百科的介紹,『層級數據格式(Hierarchical Data Format:HDF)是設計用來存儲和組織大量數據的一組文件格式(HDF4,HDF5)。
它最初開發于美國國家超級計算應用中心,現在由非營利社團HDF Group支持,其任務是確保HDF5技術的持續開發和存儲在HDF中數據的持續可訪問性。』。
HDF5 擁有一系列的優異特性,使其特別適合進行大量科學數據的存儲和操作,如它支持非常多的數據類型,靈活,通用,跨平臺,可擴展,高效的 I/O 性能,支持幾乎無限量(高達 EB)的單文件存儲等
h6ls info.h6 # key1 Dataset {10000} # key2 Dataset {10000,5} # key3 Dataset {20000,30}
我們可以使用Python非常方便的讀寫hdf5文件,最常用的模塊就是h6py。下面說明一下它的安裝及使用方法:
pip install h6py pip install numpy # numpy 通常是作為配合使用
『一個 HDF5 文件是存儲兩類對象的容器,這兩類對象分別為:
dataset:類似數組的數據集合; gropp;類似目錄的容器,其中可以包含一個或多個 dataset 及其它的 group。
一個 HDF5 文件從一個命名為 "/" 的 group 開始,所有的 dataset 和其它 group 都包含在此 group 下,當操作 HDF5 文件時,如果沒有顯式指定 group 的 dataset 都是默認指 "/" 下的 dataset,另外類似相對文件路徑的 group 名字都是相對于 "/" 的。
HDF5 文件的 dataset 和 group 都可以擁有描述性的元數據,稱作 attribute。
用 h6py 操作 HDF5 文件,我們可以像使用目錄一樣使用 group,像使用 numpy 數組一樣使用 dataset,像使用字典一樣使用屬性,非常方便和易用。』
import h6py
import numpy as np
# 如果你要在根group下創建dataset
f = h6py.File('info.h6', 'w')
values1 = np.arange(12).reshape(4, 3)
values2 = np.arange(20).reshape(4, 5)
f.create_dataset(name='key1', data=np.array(values1, dtype='int64'))
f.create_dataset(name='key2', data=np.array(values2, dtype='int64'))
# 如果你要創建一個group(目錄)
# 然后指定dataset放置的group
f.create_group('/dir1')
f.create_group('/dir1/dir2')
data = np.arange(6).reshape(3, 2)
f.create_dataset('/dir1/dir2', data=data)
# 最后別忘了關閉文件
f.close()
import h6py
with h6py.File(info.h6, 'r') as f:
values1 = f['key1'].value
values2 = f['key2'].value
import h6py
import numpy as np
f = h6py.File('train/e1_1.hdf5')
key = ""
for k in f.keys():
key = k
d = f[key]
print(d)
a = np.ones(d.shape)
d.read_direct(a)
print(a)
f.close()
讀到這里,這篇“python3如何使用hdf5文件”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。