2014-10-17 66 views
2

我正在嘗試使用numpy獲得兩個數組之間沒有成功的所有數字對。 基本上我需要的是一個外部的產品,其中的數字,而不是被乘以被放在一個陣列,即:2個數組之間的所有數字對

a = np.array([1, 2]) 
b = np.array([3, 4]) 

np.Func(a, b) 
>>> [[[1,3], [1,4]] 
    [[2,3], [2,4]]] 

我想np.meshgrid(a,b)但輸出是不是我所期望。

+0

你應該更新曲而不是輸出你期望的輸出。 – 2014-10-17 10:25:34

+0

我不知道使用的函數,我不能發佈它的輸出。我已經嘗試過meshgrid,它的輸出不是我所期望的 – 2014-10-17 10:33:09

回答

3

你也可以採取的transpose meshgrid:

>>> np.transpose(np.meshgrid(a, b)) 
array([[[1, 3], 
     [1, 4]], 

     [[2, 3], 
     [2, 4]]]) 
2

你做np.meshgrid後需要np.dstack

>>> a, b = np.array([1, 2]), np.array([3, 4]) 
>>> xs, ys = np.meshgrid(a, b) 
>>> np.dstack([xs, ys]) 
array([[[1, 3], 
     [2, 3]], 

     [[1, 4], 
     [2, 4]]]) 

具有相同的順序,你在問題中所顯示的,你可以使用np.transpose

>>> np.dstack([xs, ys]).transpose((1, 0, 2)) 
array([[[1, 3], 
     [1, 4]], 

     [[2, 3], 
     [2, 4]]]) 
相關問題