将ndarray列表折叠为矩阵

时间:2012-01-13 13:19:45

标签: python numpy

我有一个包含numpy.ndarray类型对象的列表,所有列表元素都具有相同的.shape值。

如何将其折叠成矩阵?

2 个答案:

答案 0 :(得分:4)

听起来您正在寻找numpy.vstack()numpy.hstack(),具体取决于您是希望数组成为矩阵的行还是列。

从手册:

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

答案 1 :(得分:3)

我不确定你的意思是:

>>> alist = [np.array([item, item+1]) for item in range(5)]
>>> alist
[array([0, 1]), array([1, 2]), array([2, 3]), array([3, 4]), array([4, 5])]

>>> np.array(alist)
array([[ 0,  1],
       [ 1,  2],
       [ 2,  3],
       [ 3,  4],
       [ 4,  5]])
>>> 

或实际上你想要一个矩阵:

>>> np.matrix(alist)
matrix([[ 0,  1],
        [ 1,  2],
        [ 2,  3],
        [ 3,  4],
        [ 4,  5]])
相关问题