日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python存儲讀取HDF5文件代碼解析

瀏覽:223日期:2022-07-04 13:03:41

HDF5 簡介

HDF(Hierarchical Data Format)指一種為存儲和處理大容量科學數據設計的文件格式及相應庫文件。HDF 最早由美國國家超級計算應用中心 NCSA 開發,目前在非盈利組織 HDF 小組維護下繼續發展。當前流行的版本是 HDF5。HDF5 擁有一系列的優異特性,使其特別適合進行大量科學數據的存儲和操作,如它支持非常多的數據類型,靈活,通用,跨平臺,可擴展,高效的 I/O 性能,支持幾乎無限量(高達 EB)的單文件存儲等,詳見其官方介紹:https://support.hdfgroup.org/HDF5/ 。

HDF5 結構

HDF5 文件一般以 .h5 或者 .hdf5 作為后綴名,需要專門的軟件才能打開預覽文件的內容。HDF5 文件結構中有 2 primary objects: Groups 和 Datasets。

Groups 就類似于文件夾,每個 HDF5 文件其實就是根目錄 (root) group’/’,可以看成目錄的容器,其中可以包含一個或多個 dataset 及其它的 group。

Datasets 類似于 NumPy 中的數組 array,可以當作數組的數據集合 。

每個 dataset 可以分成兩部分: 原始數據 (raw) data values 和 元數據 metadata (a set of data that describes and gives information about other data => raw data)。

+-- Dataset| +-- (Raw) Data Values (eg: a 4 x 5 x 6 matrix)| +-- Metadata| | +-- Dataspace (eg: Rank = 3, Dimensions = {4, 5, 6})| | +-- Datatype (eg: Integer)| | +-- Properties (eg: Chuncked, Compressed)| | +-- Attributes (eg: attr1 = 32.4, attr2 = 'hello', ...)|

從上面的結構中可以看出:

Dataspace 給出原始數據的秩 (Rank) 和維度 (dimension) Datatype 給出數據類型 Properties 說明該 dataset 的分塊儲存以及壓縮情況 Chunked: Better access time for subsets; extendible Chunked & Compressed: Improves storage efficiency, transmission speed Attributes 為該 dataset 的其他自定義屬性

整個 HDF5 文件的結構如下所示:

+-- /| +-- group_1| | +-- dataset_1_1| | | +-- attribute_1_1_1| | | +-- attribute_1_1_2| | | +-- ...| | || | +-- dataset_1_2| | | +-- attribute_1_2_1| | | +-- attribute_1_2_2| | | +-- ...| | || | +-- ...| || +-- group_2| | +-- dataset_2_1| | | +-- attribute_2_1_1| | | +-- attribute_2_1_2| | | +-- ...| | || | +-- dataset_2_2| | | +-- attribute_2_2_1| | | +-- attribute_2_2_2| | | +-- ...| | || | +-- ...| || +-- ...|

一個 HDF5 文件從一個命名為 '/' 的 group 開始,所有的 dataset 和其它 group 都包含在此 group 下,當操作 HDF5 文件時,如果沒有顯式指定 group 的 dataset 都是默認指 '/' 下的 dataset,另外類似相對文件路徑的 group 名字都是相對于 '/' 的。

安裝

pip install h5py

Python讀寫HDF5文件

#!/usr/bin/python# -*- coding: UTF-8 -*-## Created by WW on Jan. 26, 2020# All rights reserved.#import h5pyimport numpy as npdef main(): #=========================================================================== # Create a HDF5 file. f = h5py.File('h5py_example.hdf5', 'w') # mode = {’w’, ’r’, ’a’} # Create two groups under root ’/’. g1 = f.create_group('bar1') g2 = f.create_group('bar2') # Create a dataset under root ’/’. d = f.create_dataset('dset', data=np.arange(16).reshape([4, 4])) # Add two attributes to dataset ’dset’ d.attrs['myAttr1'] = [100, 200] d.attrs['myAttr2'] = 'Hello, world!' # Create a group and a dataset under group 'bar1'. c1 = g1.create_group('car1') d1 = g1.create_dataset('dset1', data=np.arange(10)) # Create a group and a dataset under group 'bar2'. c2 = g2.create_group('car2') d2 = g2.create_dataset('dset2', data=np.arange(10)) # Save and exit the file. f.close() ’’’ h5py_example.hdf5 file structure +-- ’/’ | +-- group 'bar1' | | +-- group 'car1' | | | +-- None | | | | | +-- dataset 'dset1' | | | +-- group 'bar2' | | +-- group 'car2' | | | +-- None | | | | | +-- dataset 'dset2' | | | +-- dataset 'dset' | | +-- attribute 'myAttr1' | | +-- attribute 'myAttr2' | | | ’’’ #=========================================================================== # Read HDF5 file. f = h5py.File('h5py_example.hdf5', 'r') # mode = {’w’, ’r’, ’a’} # Print the keys of groups and datasets under ’/’. print(f.filename, ':') print([key for key in f.keys()], 'n') #=================================================== # Read dataset ’dset’ under ’/’. d = f['dset'] # Print the data of ’dset’. print(d.name, ':') print(d[:]) # Print the attributes of dataset ’dset’. for key in d.attrs.keys(): print(key, ':', d.attrs[key]) print() #=================================================== # Read group ’bar1’. g = f['bar1'] # Print the keys of groups and datasets under group ’bar1’. print([key for key in g.keys()]) # Three methods to print the data of ’dset1’. print(f['/bar1/dset1'][:]) # 1. absolute path print(f['bar1']['dset1'][:]) # 2. relative path: file[][] print(g[’dset1’][:]) # 3. relative path: group[] # Delete a database. # Notice: the mode should be ’a’ when you read a file. ’’’ del g['dset1'] ’’’ # Save and exit the file f.close()if __name__ == '__main__': main()

相關代碼示例

創建一個h5py文件

import h5pyf=h5py.File('myh5py.hdf5','w')

創建dataset

import h5pyf=h5py.File('myh5py.hdf5','w')#deset1是數據集的name,(20,)代表數據集的shape,i代表的是數據集的元素類型d1=f.create_dataset('dset1', (20,), ’i’)for key in f.keys(): print(key) print(f[key].name) print(f[key].shape) print(f[key].value)

輸出:

dset1/dset1(20,)[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]

賦值

import h5pyimport numpy as npf=h5py.File('myh5py.hdf5','w')d1=f.create_dataset('dset1',(20,),’i’)#賦值d1[...]=np.arange(20)#或者我們可以直接按照下面的方式創建數據集并賦值f['dset2']=np.arange(15)for key in f.keys(): print(f[key].name) print(f[key].value)

輸出:

/dset1[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]/dset2[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]

創建group

import h5pyimport numpy as npf=h5py.File('myh5py.hdf5','w')#創建一個名字為bar的組g1=f.create_group('bar')#在bar這個組里面分別創建name為dset1,dset2的數據集并賦值。g1['dset1']=np.arange(10)g1['dset2']=np.arange(12).reshape((3,4))for key in g1.keys(): print(g1[key].name) print(g1[key].value)

輸出:

/bar/dset1[0 1 2 3 4 5 6 7 8 9]/bar/dset2[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]

刪除某個key下的數據

# 刪除某個key,調用removef.remove('bar')

最后pandsa讀取HDF5格式文件

import pandas as pdimport numpy as np# 將mode改成r即可hdf5 = pd.HDFStore('hello.h5', mode='r')# 或者'''hdfs = pd.read_hdf('hello.h5', key='xxx')'''

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费观看久久av| 精品一区二区三区亚洲| 国产91在线播放精品| 国产一区福利| 人在线成免费视频| 婷婷成人在线| 国产一级久久| 亚洲久久视频| 国产亚洲精品美女久久| 久久久精品区| 日韩精品水蜜桃| 激情欧美国产欧美| 另类国产ts人妖高潮视频| 日韩精品亚洲专区| 久久精品一本| 不卡av一区二区| 亚洲欧美网站在线观看| 卡一精品卡二卡三网站乱码| 中文字幕在线官网| 伊人成人在线视频| 青青草伊人久久| 国产精品二区不卡| 99视频精品全国免费| 石原莉奈一区二区三区在线观看| 日本成人在线网站| 日本黄色精品| 日韩午夜一区| 国产精品亚洲一区二区在线观看 | 麻豆精品视频在线| 日韩久久精品| 天海翼精品一区二区三区| 久久精品国产久精国产| 国产一区亚洲| 麻豆精品在线视频| 免费人成网站在线观看欧美高清| 牛牛精品成人免费视频| 999久久久国产精品| 日韩欧美久久| 欧美中文字幕一区二区| 亚洲精品美女91| 日韩成人综合| 日韩欧美在线精品| 91精品1区| 精品视频一二| 日韩三级一区| 亚洲欧洲一区二区天堂久久| 免费一区二区三区在线视频| 国产精品美女| 伊人久久视频| 国产精品一区三区在线观看| 尹人成人综合网| 国产精品原创| 国产精品99久久久久久董美香| 日韩影院免费视频| 五月天av在线| 久久av导航| 日本一不卡视频| 国产精品丝袜xxxxxxx| 精品视频高潮| 午夜精品福利影院| 国产一区二区高清| 欧美aa在线观看| 国产精品高清一区二区| 自拍自偷一区二区三区| 亚洲www啪成人一区二区| 国产亚洲人成a在线v网站| 日韩视频不卡| 亚洲电影在线一区二区三区| 午夜影院一区| 麻豆免费精品视频| 91精品国产自产在线丝袜啪| 天堂成人国产精品一区| 欧美~级网站不卡| 日韩一区欧美| 麻豆视频在线观看免费网站黄| 国产精品视频一区二区三区四蜜臂| 免费欧美在线视频| 亚洲免费婷婷| 久久一二三区| 最新亚洲一区| 亚洲欧洲另类| 不卡中文字幕| 999在线观看精品免费不卡网站| 999久久久91| 五月激情久久| 久久久影院免费| 黑丝美女一区二区| 亚洲经典在线| 蜜桃视频一区二区| 婷婷亚洲成人| 日韩欧美在线精品| 91精品啪在线观看国产爱臀| 午夜久久av| 日韩极品在线观看| 日本欧美一区二区在线观看| 日韩免费精品| 欧美天堂一区二区| 国产精品久久久久久久久久白浆 | 久久精品系列| 成人午夜毛片| 日韩在线看片| 欧美日韩国产高清电影| 亚洲综合日本| 婷婷综合福利| 国产精品一卡| 久久久久久色 | 国产伦精品一区二区三区视频| 欧美亚洲网站| 成人在线超碰| 久久精品国产68国产精品亚洲| 国产精品hd| 欧美a级片一区| 丝袜亚洲另类欧美| 亚洲小说春色综合另类电影| 日韩高清电影免费| 久久99精品久久久久久园产越南| 欧美日韩伊人| 久久影院资源站| 久久精品亚洲人成影院 | 午夜亚洲福利| 国产精品尤物| 久久久天天操| 中文字幕av一区二区三区四区| 国产精品网在线观看| 日韩成人三级| 亚洲欧美日本国产| 国产精品久久久久久久免费观看| yellow在线观看网址| 国产一在线精品一区在线观看| 亚洲免费毛片| 狠狠躁少妇一区二区三区| 夜夜精品视频| 你懂的网址国产 欧美| 欧美一区二区性| 青草av.久久免费一区| 免费一二一二在线视频| 伊人精品久久| 国产91在线播放精品| 亚洲欧美高清| 精品国产精品久久一区免费式| 国产国产精品| 91免费精品国偷自产在线在线| 久久97视频| 国产一区亚洲| 国产精品久一| 丝袜美腿亚洲一区| 成人在线免费观看网站| 亚洲深夜av| 久久精品亚洲| 蜜桃视频一区二区三区| 欧美少妇精品| 欧美久久亚洲| 国产精品呻吟| 日韩精品永久网址| 日本三级亚洲精品| 亚洲二区在线| 欧美精品91| 在线综合欧美| 欧美亚洲日本精品| 国产精品一区二区三区av| av成人国产| 国产v日韩v欧美v| 国产探花一区| 日精品一区二区三区| 欧美日韩亚洲在线观看| 麻豆精品99| 亚洲毛片视频| 成人av动漫在线观看| 国产一区不卡| 国产精品红桃| 在线观看亚洲精品福利片| 色88888久久久久久影院| 欧美一区二区三区免费看| 自拍日韩欧美| 久久国产中文字幕| 色一区二区三区| 欧美黄色一区二区| 91成人精品在线| 亚洲精品伦理| 老司机精品久久| 国产午夜久久| 伊人成人网在线看| 99久久久久久中文字幕一区| 国产一区二区久久久久| 国产精品magnet| 日本午夜精品久久久久| 久久亚洲二区| 国产综合精品一区| 欧美三级网址| 日韩欧美一区二区三区免费看| 国产精品4hu.www| 国产精区一区二区| 国产区精品区| 国产精品成人国产| 国产精品美女久久久久久不卡| 日韩不卡一二三区| 日韩激情精品| 日韩不卡免费视频| 欧美在线精品一区| 国产欧美日韩一区二区三区四区|