2017-04-21 98 views
1

我想將此數組轉換爲單個數組。 我輸入:如何將數組合併成單個?

a = [[ array([ 3.00514850e+05, 3.32400000e+01, 2.71669002e-01, 
     6.50974961e+05, 3.00515112e+05, 3.32248995e+01]) 
    array([ 15.])] 
[ array([ 3.00915200e+05, 2.90600000e+01, 2.91730634e-01, 
     6.50763121e+05, 3.00915412e+05, 2.91246275e+01]) 
    array([ 17.])] 

什麼,我想實現:

b = [[ 3.00514850e+05, 3.32400000e+01, 2.71669002e-01, 
     6.50974961e+05, 3.00515112e+05, 3.32248995e+01, 15.] 
     [ 3.00915200e+05, 2.90600000e+01, 2.91730634e-01, 
     6.50763121e+05, 3.00915412e+05, 2.91246275e+01, 17.]] 

所以我的計劃是,先轉我的陣列成單一個,拆分兩個數組爲單獨的,然後它附加在一起。我真的覺得我太過複雜了。

我用b = a.transpose()把小數組的所有值都放到最後。之後,我嘗試使用c,d =([i] for i in b)將其拆分爲數組,然後我的計劃是使用output = np.append(c,d)

但是我的函數c,d trowing error 「太多的值解開(預計2)」

有沒有更好的方法來做到這一點?我究竟做錯了什麼?你可以幫我嗎?

回答

3

因此,您試圖連接列表中所有子列表中的數組a。您可以使用內置功能做到這一點map

a = [[np.array([3.00514850e+05, 3.32400000e+01, 2.71669002e-01, 
       6.50974961e+05, 3.00515112e+05, 3.32248995e+01]), np.array([15.])], 
    [np.array([3.00915200e+05, 2.90600000e+01, 2.91730634e-01, 
       6.50763121e+05, 3.00915412e+05, 2.91246275e+01]), np.array([17.])]] 
a = np.array(a) 
result = np.array(list(map(np.concatenate,a))) 
+0

完美!這就是我正在尋找的答案! – Losbaltica

相關問題