在python中的数组中生成数组

在python中的数组中生成数组,python,arrays,for-loop,matplotlib,vector,Python,Arrays,For Loop,Matplotlib,Vector,我试图在python中创建一个数组,数组中的数组如下所示: [[3,0,-3,-4],[6,0,-2.44,-4]] 我可以在matplotlib的矢量图中使用它 我尝试使用以下程序执行此操作: 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(floa

我试图在python中创建一个数组,数组中的数组如下所示:

[[3,0,-3,-4],[6,0,-2.44,-4]]
我可以在matplotlib的矢量图中使用它

我尝试使用以下程序执行此操作:

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
当我运行程序时,我得到输出:

soa是[3.0.-3.-4.6.0]。 -2.44-4。]

不能在matplotlib中将其打印为矢量打印。如何调整上述脚本以将数组转换为以下格式:

 [[3,0,-3,-4],[6,0,-2.44,-4]]

其中[3,0,-3,-4]和[6,0,-2.44,-4]是我可以在matplotlib中绘制的向量?

np.append不同于noraml数组append

尝试:


获取所需数组的最简单方法是简单地从数据中堆叠列,并在中间放置一个零列

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

快速修复,
soa=soa。重塑((2,-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