2016-01-29 31 views
3

它可能很容易做,但我似乎無法自己弄清楚這一點。我有兩個numpy的陣列,一個代表x值和代表對應的y值,另外一個:合併2個數組垂直於元組Numpy

x = np.array([-1, 0, 1, 2]) 
y = np.array([-2, -1, 0, 1]) 

有沒有辦法將這兩個數組合並在一起(因此它更容易閱讀每個x y值價值)像一個斑塊:

array = [(-1, -2), (0, -1), (1, 0), (2, 1)] 

在此先感謝!

回答

10
In [469]: x = np.array([-1, 0, 1, 2]) 
In [470]: y = np.array([-2, -1, 0, 1]) 

將它們合併成二維數組:

In [471]: np.array((x,y)) 
Out[471]: 
array([[-1, 0, 1, 2], 
     [-2, -1, 0, 1]]) 

轉置陣:

In [472]: np.array((x,y)).T 
Out[472]: 
array([[-1, -2], 
     [ 0, -1], 
     [ 1, 0], 
     [ 2, 1]]) 

,或者使用標準的Python拉鍊 - 這對待數組作爲列表

In [474]: zip(x,y) # list(zip in py3 
Out[474]: [(-1, -2), (0, -1), (1, 0), (2, 1)]