2016-03-15 74 views
0

我是python新手,我真的很感謝你,如果你能幫助我。Python:在3列數組中聯合使用2d數組和1d數組

我有一個2柱陣列iedT和1列數組即導致,並希望他們團結起來的3列數組,我想各地許多次,但找不到這樣做的最佳方式,即使我嘗試過np.vstack,但由於尺寸不同,它不起作用。

import numpy as np 
import math 

n=3 
m=3 
T=4; 
xmin=0; xmax=l=4 
zmin=0; zmax=h=2 
nx=5; nz=5 
dx=(xmax-xmin)*1.0/(nx-1) 
dz=(zmax-zmin)*1.0/(nz-1) 
dt=0.00001 
nt=1 
k_z=n*2*math.pi/h 
k_x=m*2*math.pi/l 
w_theo=np.zeros((nz,nx),dtype='float64') 

xx=[] 
for i in range(0,nx): 
    xx.append(i*dx) 
zz=[] 
for k in range(0,nz): 
    zz.append(k*dz) 
[x,z]=np.meshgrid(xx,zz) 


for i in range(0,nz): 
    for k in range(0,nx): 
     t=0+nt*dt; omega=2*math.pi/T; 
     w_theo[i,k]=round(np.sin(k_z*i*dz*1.0)*np.sin(k_x*k*dx*1.0-omega*t),10) 
print w_theo 
np.savetxt('Theoretical_result.txt', np.array(w_theo), delimiter="\t") 

d = np.array([x.flatten(), z.flatten()]) 

result=[] 
for i in range(0,nz): 
    for k in range(0,nx): 
     result.append(w_theo[nz-1-i,k]) 

myarray=np.asarray(result) 

print myarray.shape, d.T.shape` 
# data=[] 
# data=np.vstack((d.T,myarray)) 
# np.savetxt('datafile_id', data) 
+0

您可以通過查看'column_stack'代碼學習。 – hpaulj

回答

2

嘗試

數據= np.column_stack((DT,myarray的))

無需數據= []

+0

謝謝您的解決方案 – Soyol

+0

我的榮幸。 :) –