2017-04-21 125 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

相关问题