Python資料儲存之 h5py詳解
阿新 • • 發佈:2020-01-09
1、Python資料儲存(壓縮)
(1)numpy.save,numpy.savez,scipy.io.savemat
numpy和scipy內建的資料儲存方式。
(2)cPickle + gzip
cPickle是pickle內建的資料儲存方式,gzip是常用的檔案壓縮模組。
(3)h5py
h5py是對HDF5檔案格式進行讀寫的python包,關於h5py更多介紹與安裝,參考官方網站
關於HDF5,參考官方網站。:
一個HDF5檔案就是一個由兩種基本資料物件(groups and datasets)存放多種科學資料的容器:
HDF5 dataset: 資料元素的一個多維陣列以及支援元資料(metadata); HDF5 group: 包含0個或多個HDF5物件以及支援元資料(metadata)的一個群組結構;
總之,dataset是類似於陣列的資料集,而group是類似資料夾一樣的容器,存放dataset和其他group;group和dataset在h5py中的使用有點類似於詞典和Numpy中陣列的用法。
h5py的優勢:速度快、壓縮效率高,總之,numpy.savez和cPickle儲存work或不work的都可以試一試h5py!
2、h5py讀取和儲存資料示例
import h5py X= np.random.rand(100,1000,1000).astype('float32') y = np.random.rand(1,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()
詳細使用方法,參考官網。
以上這篇Python資料儲存之 h5py詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。