在Python中将两个数组合并为1
我有两个数组:vx和vz(shape()=14502 x 36)),我想将它们组合成一个数组,其中包含由两个组件(vx和vz)创建的速度向量 V=(vx,vz) 例如:在Python中将两个数组合并为1,python,arrays,indexing,data-structures,Python,Arrays,Indexing,Data Structures,我有两个数组: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)
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)]
似乎是使用2个拉链的嵌套列表理解:
>>> [(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)]
似乎是使用2个拉链的嵌套列表理解:
>>> [(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)]
以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])
以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])
你能给你的例子加上最终的解是什么样的吗?我知道,这个数学我不知道。解释应该发生什么,并显示样本输出,您可能会得到更多帮助。您所说的形状相同是什么意思?您是指(vx和vz中的向量)的向量和吗?仍然不清楚。添加所需输出的示例。拜托,你能给你的例子加上最终的解是什么样的吗?我知道,这个数学我不知道。解释应该发生什么,并显示样本输出,您可能会得到更多帮助。您所说的形状相同是什么意思?您是指(vx和vz中的向量)的向量和吗?仍然不清楚。添加所需输出的示例。谢谢,但我只是想创建一个新的数组。没有数学。下面的Pacholik回答了我需要的内容。@Tbevans88我根据您的编辑修改了它。如果您想要一个纯Python(非numpy)解决方案,请使用它(顺便说一句——如果它适合您,您应该接受Pacholik的解决方案),谢谢,但我只是想创建一个新的数组。没有数学。下面的Pacholik回答了我需要的内容。@Tbevans88我根据您的编辑修改了它。如果您想要一个纯Python(非numpy)解决方案,请使用它(顺便说一句——如果Pacholik的解决方案适合您,您应该接受它)