2017-02-02 7 views
1

の配列内の配列を作ります。は、私はpythonで次のようになり、配列内の配列を作成しようとしているのpython

SOAは、[3 0 -3である:私はプログラムを実行すると

data = np.loadtxt(sys.argv[1], dtype='str',delimiter=',', skiprows=1, usecols=(0,1,2,3,4,5,6,7)) 

x = data[:,0].astype(float) 
u = data[:,6].astype(float) 
v = data[:,7].astype(float) 

soa = [] 
for t in range(0,2): 
    print "At time ",x[t]," U is ",u[t]," and V is ",v[t] 
    result = [x[t],0,u[t],v[t]] 
    soa = np.append(soa, [result]) 


print "soa is ",soa 

が、私は出力を得る:

は、私は、次のプログラムでこれをやってみました。 -4。 6. -2.44-4。 ]

これは、matplotlibのベクトルプロットとしてプロットすることはできません。どのようにして形式に配列を取得するために、上記のスクリプトを微調整することができる。

[3,0、-3、-4]及び[6,0、-2.44、-4]はそのIベクターである
[[3,0,-3,-4],[6,0,-2.44,-4]] 

matplotlibでプロットできますか?

+0

クイックフィックス、ゼロの列を置くことである 'SOA = soa.reshape((2、-1)) ' –

答えて

1

np.appendは、noraml配列のappendとは異なります。

試してみてください。

for t in range(0,2): 
    print "At time ",x[t]," U is ",u[t]," and V is ",v[t] 
    result = [x[t],0,u[t],v[t]] 
    soa.append(result) 
1

希望配列を取得する最も簡単な方法は、単にデータの列をスタックし、中央の

data = np.loadtxt(sys.argv[1], dtype='str',delimiter=',', skiprows=1, 
        usecols=(0,1,2,3,4,5,6,7)) 

x = data[:,0].astype(float) 
u = data[:,6].astype(float) 
v = data[:,7].astype(float) 

soa = np.vstack((x,np.zeros(len(x)),u,v)).T 

print "soa is ",soa 
関連する問題