将一些数组合并到python中的单个数组/列表中

时间:2018-05-02 10:08:36

标签: python arrays python-3.x numpy

如何隐藏此数组(不同维度numpy),

l= (array([0.08]), array([[ 0.56, -0.01, 0.46]), array([[ 0.60], [0.07], [0.03]]), array([[0., 0., 0., 0.]]), array([[0.]]))

进入1D数组,

l= array([0.08, 0.56, -0.01, 0.60, 0.07, 0.03, 0., 0., 0., 0., 0.])

1 个答案:

答案 0 :(得分:1)

一种方法是使用numpy.hstackravel来平整各种维度。

import numpy as np

l = (np.array([0.08]), np.array([ 0.56, -0.01, 0.46]),
     np.array([[ 0.60], [0.07], [0.03]]), np.array([[0., 0., 0., 0.]]),
     np.array([[0.]]))

res = np.hstack(i.ravel() for i in l)

array([ 0.08,  0.56, -0.01,  0.46,  0.6 ,  0.07,  0.03,  0.  ,  0.  ,
        0.  ,  0.  ,  0.  ])

或者如果你想要一种功能性方法:

from operator import methodcaller

res = np.hstack(list(map(methodcaller('ravel'), l)))