1

複合データを (6,31) 次元データセットに書き込みたい。最初の列には、最初の入力テキストファイルからの最初の複合データが存在し、2 番目の列には、2 番目の入力テキストファイルからのデータが存在するはずです...

import numpy,sys
import h5py as H5


#######################################################

def CreateH5(argv):
    F=H5.File("S12.h5","w")
    dset=F.create_dataset('S11',(6,31),dtype='complex128')

    for arg in argv:
            S11f = numpy.loadtxt(arg,skiprows=3)
            S11fc=S11f[:,1]*numpy.exp(S11f[:,-1]*1j*(180./numpy.pi))

            for i in range(dset):
                    dset[i]=S11fc


if __name__=='__main__':
    CreateH5(sys.argv[1:])

の扱い方がわからないfor i in range(dset):

4

1 に答える 1

0

forloop で何をしようとしているのかわかりません。私が理解しているのは、それぞれに 31 個の複雑な値を持つ 6 つのファイルがあり、その値をデータセットに入れたいということですか?

その場合は、単に argv でループを列挙し、numpy 配列をデータセットに入れます。

for index, arg in enumerate(argv):
    S11f = numpy.loadtxt(arg,skiprows=3)
    S11fc=S11f[:,1]*numpy.exp(S11f[:,-1]*1j*(180./numpy.pi))
    dset[index] = S11fc

しかし、なぜ単純な numpy 配列の代わりに hd5f を使用するのでしょうか?

于 2013-07-12T07:39:56.237 に答える