1. 程式人生 > 程式設計 >Python資料儲存之 h5py詳解

Python資料儲存之 h5py詳解

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詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。