在python中的数组中生成数组
我试图在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
[[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