2016-03-15 76 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

我的荣幸。 :) –