Python數(shù)據(jù)存儲之 h5py詳解
1、Python數(shù)據(jù)存儲(壓縮)
(1)numpy.save , numpy.savez , scipy.io.savemat
numpy和scipy內(nèi)建的數(shù)據(jù)存儲方式。
(2)cPickle + gzip
cPickle是pickle內(nèi)建的數(shù)據(jù)存儲方式,gzip是常用的文件壓縮模塊。
(3)h5py
h5py是對HDF5文件格式進行讀寫的python包,關(guān)于h5py更多介紹與安裝,參考官方網(wǎng)站
關(guān)于HDF5,參考官方網(wǎng)站。:
一個HDF5文件就是一個由兩種基本數(shù)據(jù)對象(groups and datasets)存放多種科學數(shù)據(jù)的容器:
HDF5 dataset: 數(shù)據(jù)元素的一個多維數(shù)組以及支持元數(shù)據(jù)(metadata); HDF5 group: 包含0個或多個HDF5對象以及支持元數(shù)據(jù)(metadata)的一個群組結(jié)構(gòu);
總之,dataset是類似于數(shù)組的數(shù)據(jù)集,而group是類似文件夾一樣的容器,存放dataset和其他group;group和dataset在h5py中的使用有點類似于詞典和Numpy中數(shù)組的用法。
h5py的優(yōu)勢:速度快、壓縮效率高,總之,numpy.savez和cPickle存儲work或不work的都可以試一試h5py!
2、h5py讀取和存儲數(shù)據(jù)示例
import h5py
X= np.random.rand(100, 1000, 1000).astype('float32')
y = np.random.rand(1, 1000, 1000).astype('float32')
# Create a new file
f = h5py.File('data.h5', 'w')
f.create_dataset('X_train', data=X)
f.create_dataset('y_train', data=y)
f.close()
# Load hdf5 dataset
f = h5py.File('data.h5', 'r')
X = f['X_train']
Y = f['y_train']
f.close()
詳細使用方法,參考官網(wǎng)。
以上這篇Python數(shù)據(jù)存儲之 h5py詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 實現(xiàn)使用dict 創(chuàng)建二維數(shù)據(jù)、DataFrame
下面小編就為大家分享一篇Python 實現(xiàn)使用dict 創(chuàng)建二維數(shù)據(jù)、DataFrame,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
使用Pandas?實現(xiàn)MySQL日期函數(shù)的解決方法
這篇文章主要介紹了用Pandas?實現(xiàn)MySQL日期函數(shù)的效果,Python是很靈活的語言,達成同一個目標或有多種途徑,我提供的只是其中一種解決方法,需要的朋友可以參考下2023-02-02
python3使用urllib示例取googletranslate(谷歌翻譯)
這篇文章主要介紹了使用urllib取googletranslate(谷歌翻譯)的示例,通過這個谷歌翻譯示例學習python3中urllib的使用方法,2014-01-01
Python3如何使用tabulate打印數(shù)據(jù)
這篇文章主要介紹了Python3如何使用tabulate打印數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09
解析python調(diào)用函數(shù)加括號和不加括號的區(qū)別
這篇文章主要介紹了python調(diào)用函數(shù)加括號和不加括號的區(qū)別,不帶括號時,調(diào)用的是這個函數(shù)本身 ,是整個函數(shù)體,是一個函數(shù)對象,不須等該函數(shù)執(zhí)行完成,具體實例代碼跟隨小編一起看看吧2021-10-10

