h5pyとnumpyの使い方


はじめに

以下のコードは、google colabで動かして確認している。

元データの作成

import h5py
import numpy as np

expression_matrix =  np.random.rand(20000, 8)
sample_name = ['sample_' + str(x + 1) for x in range(8)]

書き込みの例

out_file = './h5pysample.h5'

outfh = h5py.File(out_file, 'w')
outfh.create_dataset('expmat', data = expression_matrix)
outfh.create_dataset('sample_name', data = sample_name)
outfh.flush()
outfh.close()

読み出しの例

in_file = './h5pysample.h5'

infh = h5py.File(in_file, 'r')
infh.keys()
## <KeysViewHDF5 ['expmat', 'sample_name']

expression_matrix_2 = np.array(infh['expmat'])
sample_name_2 = list(infh['sample_name'])

infh.close()

検索

HDF5データの検索で、テーブルリストに該当名称があるかないかは、grepで検索できる。上でいうところのexpmat等で存在するテーブルを確認することが出来る。

参考資料