1

(1)hdf5ファイルの下のすべてのアレイをバッチ選択し、(2)それらのアレイに計算を適用し、最後に(3)別のhdf5ファイルに新しいアレイをバッチ作成する方法は?

例えば:

import numpy
import tables

file = openFile('file1',"r")

array1 = file.root.array1
array1_cal = (array1 <= 1)
newfile.createArray('/','array1_cal',array1_cal)

array2 = file.root.array2
array2_cal = (array2 <= 1)
newfile.createArray('/','array2_cal',array2_cal)

1つのhdf5ファイルと複数のhdf5ファイルの下に100以上のアレイがありますが、それらをバッチ処理するにはどうすればよいですか?どうもありがとう。

4

2 に答える 2

2

HDF5へのPythonインターフェースであるh5pyを使用します。h5pyを使用すると、従来のPythonおよびNumPyのメタファーを使用して、HDF5ファイル、グループ、およびデータセットを使用できます。

http://code.google.com/p/h5py/およびhttp://alfven.org/wp/hdf5-for-python/を参照してください

于 2012-05-10T08:12:36.883 に答える
2

PyTablesを使用すると、この関数を使用してノードを再帰的に反復できます。walkNodes次に例を示します。

# Recursively print all the nodes hanging from '/detector'.
print "Nodes hanging from group '/detector':"
for node in h5file.walkNodes('/detector', classname='EArray'):
    data = node[:]
    // do some calculation 
    // store new array in second file 
于 2012-05-10T09:12:47.593 に答える