2012-05-10 3 views
1

hdf5 파일에서 모든 배열을 일괄 처리 한 다음 (2) 해당 배열에서 계산을 적용하고 마지막으로 다른 hdf5 파일에서 일괄 적으로 배열을 만듭니다. 예를 들어Numpy에서 배열을 선택하고 계산하는 방법은 무엇입니까?

:

나는 하나의 HDF5 파일과 여러 HDF5 파일에서 100 개 + 배열을
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) 

, 어떻게 배치 프로세스들을 수 있습니까? 고마워.

+0

HDF 파일의 구조는 무엇입니까? 예를 들어, 모든 배열이 루트에 매달려 있습니까? 그 구조가 새 파일에 복제되기를 원했습니까? – dtlussier

답변

2

를 참조하십시오. 다음은 그 예입니다.

# 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 
2

h5py, HDF5에 대한 Python 인터페이스를 사용하십시오. h5py을 사용하면 전통적인 Python 및 NumPy 메타포를 사용하여 HDF5 파일, 그룹 및 데이터 세트를 사용할 수 있습니다.

당신이 반복적으로 노드를 반복하는 walkNodes 기능을 사용할 수 있습니다 PyTables으로 http://code.google.com/p/h5py/http://alfven.org/wp/hdf5-for-python/

관련 문제