簡體   English   中英

在Python中將兩個數組合並為1

[英]Combining two arrays into 1 in Python

我有兩個數組: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)]

看起來像使用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)]

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])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM