2014-07-16 19 views
0

我有兩個陣列爲什麼無法連接python中的兩個數組?

>>> array1.shape 
(97, 195) 
>>> array2.shape 
(195,) 
>>> array1 = numpy.concatenate((array1, array2), axis=0) 

當我執行串連操作它顯示了一個錯誤

ValueError: all the input arrays must have same number of dimensions 

是第二陣列形狀(195,)創建問題?

+1

移調第二陣列。來自docs.scipy:'數組必須具有相同的形狀,除了與軸對應的維度(第一個,默認情況下)'。它應該是(1,195)'。比你可以在第二維連接,obv – soupault

+1

這不是一個轉置,但你想重新設置數組爲'(1,195)'。 – user2357112

+0

不好意思? '(195,)'數組的大小是「195 * 0」嗎? – soupault

回答

3

只是使雙方有不同之處沿軸相同的尺寸和相同的尺寸要連接:

np.concatenate((array1, array2[np.newaxis,...]), axis=0) 
1

爲了這個工作,你需要ARRAY2實際上是2D。

array1 = numpy.concatenate((array1, array2.reshape((1,195))) 

應該工作

0

另一種簡單的方法來實現,你要尋找的陣列級聯是使用numpy的的vstack功能如下:

array1 = np.vstack([array1, array2]) 
相關問題