0

次のコードがあります

a_alpha_beta = zeros((2,  len( atime ) ))

for i in range( len( atime ) ):        
        alpha_beta = transf.clarke(signal[0][i], signal[1][i], signal[2][i])
        a_alpha_beta[0][i] = alpha_beta[0][0] 
        a_alpha_beta[1][i] = alpha_beta[1][0]

上記のコードを最適化するにはどうすればよいですか。たとえば、にコピーalpha_betaするにはどうすればよいa_alpha_betaですか?

4

1 に答える 1

1

関数transf.clarkeが何をするのか正確にはわかりませんが、必要なコピー操作は次のように実行できます。

import numpy as np

# generate a test input
x = np.arange(0, 10).reshape((2, 5))
print x

# simply copy 2d array
y = x.copy()
print y

# some new data (i.e., alpha_beta in the original code)
z = np.array([[10, 11, 12],
              [13, 14, 15]])
print z

# replace the iteration by numpy slicing to obtain the same result
x[0, :] = z[0, 0]
x[1, :] = z[1, 0]
print x
于 2012-09-09T19:17:16.860 に答える