我有两个数组:vx和vz(shape()= 14502 x 36))我想要组合成一个数组,其中包含从两个组件(vx和vz)创建的速度向量。
V =(vx,vz)
示例:
vx = [(1,2,3),(4,5,6)]
vz = [(-1,-2,-3),(-4,-5,-6)]
我需要V是一个形状相同的数组,但每个元素都包含vx和vz数据。我确定这是Python中的基本格式,但我很难理顺它。
#Expected outcome: V = [(1,-1) (2,-2) (3,-3); (4,-4) (5,-5) (6,-6)]
甚至更简单:一个新的数组,其中第1列是来自Vx的第1列,而第2列是来自Vz的第1列,依此类推。
#Expected outcome: V = [(1,-1,2,-2,3,-3),(4,-4,5,-5,6,-6)]
答案 0 :(得分:2)
看起来像使用2 zips
的嵌套列表理解:
>>> [(x,y) for v,w in zip(vx,vz) for x,y in zip(v,w)]
[(1, -1), (2, -2), (3, -3), (4, -4), (5, -5), (6, -6)]
答案 1 :(得分:2)
numpy中的向量数组:
>>> import numpy as np
>>> V = np.array([vx, vz]).T # create numpy array and transpose
>>> V[0, 0]
array([ 1, -1])
>>> V[1, 0]
array([ 2, -2])
>>> V[0, 1]
array([ 4, -4])