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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python存儲(chǔ)讀取HDF5文件代碼解析

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

HDF5 簡(jiǎn)介

HDF(Hierarchical Data Format)指一種為存儲(chǔ)和處理大容量科學(xué)數(shù)據(jù)設(shè)計(jì)的文件格式及相應(yīng)庫(kù)文件。HDF 最早由美國(guó)國(guó)家超級(jí)計(jì)算應(yīng)用中心 NCSA 開(kāi)發(fā),目前在非盈利組織 HDF 小組維護(hù)下繼續(xù)發(fā)展。當(dāng)前流行的版本是 HDF5。HDF5 擁有一系列的優(yōu)異特性,使其特別適合進(jìn)行大量科學(xué)數(shù)據(jù)的存儲(chǔ)和操作,如它支持非常多的數(shù)據(jù)類(lèi)型,靈活,通用,跨平臺(tái),可擴(kuò)展,高效的 I/O 性能,支持幾乎無(wú)限量(高達(dá) EB)的單文件存儲(chǔ)等,詳見(jiàn)其官方介紹:https://support.hdfgroup.org/HDF5/ 。

HDF5 結(jié)構(gòu)

HDF5 文件一般以 .h5 或者 .hdf5 作為后綴名,需要專(zhuān)門(mén)的軟件才能打開(kāi)預(yù)覽文件的內(nèi)容。HDF5 文件結(jié)構(gòu)中有 2 primary objects: Groups 和 Datasets。

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

Datasets 類(lèi)似于 NumPy 中的數(shù)組 array,可以當(dāng)作數(shù)組的數(shù)據(jù)集合 。

每個(gè) dataset 可以分成兩部分: 原始數(shù)據(jù) (raw) data values 和 元數(shù)據(jù) 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', ...)|

從上面的結(jié)構(gòu)中可以看出:

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

整個(gè) HDF5 文件的結(jié)構(gòu)如下所示:

+-- /| +-- 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| | | +-- ...| | || | +-- ...| || +-- ...|

一個(gè) HDF5 文件從一個(gè)命名為 '/' 的 group 開(kāi)始,所有的 dataset 和其它 group 都包含在此 group 下,當(dāng)操作 HDF5 文件時(shí),如果沒(méi)有顯式指定 group 的 dataset 都是默認(rèn)指 '/' 下的 dataset,另外類(lèi)似相對(duì)文件路徑的 group 名字都是相對(duì)于 '/' 的。

安裝

pip install h5py

Python讀寫(xiě)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()

相關(guān)代碼示例

創(chuàng)建一個(gè)h5py文件

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

創(chuàng)建dataset

import h5pyf=h5py.File('myh5py.hdf5','w')#deset1是數(shù)據(jù)集的name,(20,)代表數(shù)據(jù)集的shape,i代表的是數(shù)據(jù)集的元素類(lè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)#或者我們可以直接按照下面的方式創(chuàng)建數(shù)據(jù)集并賦值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]

創(chuàng)建group

import h5pyimport numpy as npf=h5py.File('myh5py.hdf5','w')#創(chuàng)建一個(gè)名字為bar的組g1=f.create_group('bar')#在bar這個(gè)組里面分別創(chuàng)建name為dset1,dset2的數(shù)據(jù)集并賦值。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]]

刪除某個(gè)key下的數(shù)據(jù)

# 刪除某個(gè)key,調(diào)用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')'''

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩1区2区| 色88888久久久久久影院| 国产一区日韩一区| 精精国产xxxx视频在线播放| 福利一区二区免费视频| 日韩专区在线视频| 亚洲深爱激情| 蜜臀av一区二区三区| 国产精品日韩久久久| 亚洲精品123区| 日韩一区二区免费看| 午夜影院欧美| 婷婷亚洲五月色综合| 亚洲免费观看| 丝袜美腿一区二区三区| 国产精品一区二区三区av麻| 亚洲精品欧美| 青草综合视频| 国产精品探花在线观看| 日韩精品久久久久久久软件91| 成人羞羞视频播放网站| 欧美精品二区| 精品久久在线| 精品视频国产| 亚洲伦乱视频| 97se综合| 久久精品国内一区二区三区水蜜桃| 99久久激情| 九九综合在线| 蜜臀国产一区二区三区在线播放| 国产精品v一区二区三区| 欧美视频久久| 色婷婷色综合| 国产精品国产三级国产在线观看| 日本精品不卡| 新版的欧美在线视频| 国产乱码精品一区二区亚洲| 国产欧美日韩一区二区三区四区| 国产日韩欧美中文在线| 国模精品一区| 国产精品国产一区| 91久久久久| 亚洲影视一区| 欧美一区影院| 欧美日韩国产观看视频| 久久亚洲专区| 亚洲69av| 国产日产一区| 亚洲最新无码中文字幕久久 | 激情久久中文字幕| 午夜在线视频观看日韩17c| 亚洲欧美日韩专区| 成人午夜在线| 视频福利一区| 免费成人网www| 91成人在线精品视频| 老牛国内精品亚洲成av人片| 久久精品导航| 中文字幕一区日韩精品| 免费久久99精品国产自在现线| 亚洲欧美日韩视频二区| 视频一区二区三区入口| 日韩高清不卡一区| 国产劲爆久久| 久久视频一区| 亚洲精品亚洲人成在线观看| 91九色综合| 久久精品123| 综合色一区二区| 国产一区二区三区日韩精品| 99国产精品久久久久久久成人热| 日韩美女精品| 蜜臀91精品国产高清在线观看| 蜜臀av国产精品久久久久| 国精品产品一区| 亚洲午夜电影| 国产亚洲一区| 老司机精品视频在线播放| 群体交乱之放荡娇妻一区二区| 亚洲18在线| 热三久草你在线| 国产乱子精品一区二区在线观看| av一区在线| 日韩成人综合| 91精品一区| 欧美中文字幕一区二区| 国产精品传媒麻豆hd| 亚洲国产一区二区三区在线播放| 久久国产人妖系列| 精品在线播放| 日韩不卡在线观看日韩不卡视频| 国产精品一区三区在线观看| 91tv亚洲精品香蕉国产一区| 国产乱人伦丫前精品视频 | 欧美日韩尤物久久| 日韩有吗在线观看| 91精品高清| 精品免费av| 日韩高清一区在线| 99精品国产一区二区三区| 国产一区二区三区免费在线| 亚洲色图国产| 亚洲专区在线| av资源中文在线| 日韩专区一卡二卡| 中文字幕免费一区二区| 日韩免费一区| 精品国产18久久久久久二百| 日韩中文字幕一区二区三区| 亚洲成人精品| 麻豆精品av| 日本成人一区二区| 四虎精品一区二区免费| 久久久久免费av| 久久久久久自在自线| 欧美综合社区国产| 91亚洲无吗| 99riav国产精品| 久久视频精品| 久久久久伊人| 亚洲日本三级| 亚洲1区在线| 99国产精品视频免费观看一公开 | 亚洲天堂av影院| 欧美日韩 国产精品| 精品视频在线一区二区在线| 国产日韩一区二区三区在线播放| 麻豆亚洲精品| 欧美中文字幕| 欧美成人国产| 午夜日韩av| 久久久久久免费视频| 伊人久久大香线蕉av不卡| 手机在线电影一区| 精品91福利视频| 国产精品**亚洲精品| 亚洲日本在线观看视频| 亚洲色图网站| 国产精品老牛| 丝袜a∨在线一区二区三区不卡| 久久国产电影| 亚洲欧美日本国产专区一区| 欧美一区二区三区高清视频| 婷婷激情久久| 午夜av成人| 在线精品亚洲欧美日韩国产| 国内精品美女在线观看| 香蕉久久一区| 欧美日韩1区| 国产无遮挡裸体免费久久 | 久久wwww| 黄在线观看免费网站ktv| 精品日韩一区| 综合五月婷婷| 欧美日韩一区自拍| 91欧美精品| 精品国产美女a久久9999| 国产精品**亚洲精品| 美女精品一区二区| 麻豆国产一区| 日韩毛片视频| 久久久久久久久久久妇女| 欧美日韩一二| 午夜久久美女| 亚洲在线国产日韩欧美| 亚洲精品精选| 91麻豆精品激情在线观看最新| 精品久久电影| 亚洲综合电影| 欧美专区在线| 日韩欧美在线精品| 麻豆一区在线| se01亚洲视频 | 欧美永久精品| 国产成人久久精品一区二区三区| 神马午夜在线视频| 在线综合欧美| 亚州av一区| 97欧美在线视频| 欧美在线观看视频一区| 激情婷婷综合| 亚洲小说春色综合另类电影| 亚洲精品在线国产| 日本免费在线视频不卡一不卡二| 91精品日本| 日韩在线二区| 伊人久久成人| 国产精品v日韩精品v欧美精品网站 | 亚洲欧美日韩在线观看a三区| 国产香蕉精品| 国产综合婷婷| 日韩高清在线一区| 精品三区视频| 欧美在线亚洲综合一区| 欧美视频二区| 久久婷婷亚洲| 亚洲综合另类| 精品五月天堂| 亚洲国产一区二区在线观看 | 国产精品毛片久久久|