首页 > 解决方案 > 在一个矩阵中使用 np.vstack 堆叠列表项

问题描述

我对 Python 很陌生,试图解决以下问题:想象一下有以下 numpy 数组(空数组或 nx 2 数组):

a = np.array([])  
b = np.array([1,2])
c = np.array([[5,6],[7,8]])
d = np.array([[11,12],[13,14],[15,16]])

现在将它们放在列表 E 中,如下所示:

E = [a,b,c,d]

现在,我希望将项目堆叠在 amx 2 矩阵中,我尝试使用:

F = np.vstack(E)

但这给了我一个错误,因为空数组的维度问题。我希望输出看起来像这样:

output = [[1 2]
          [5 6]
          [7 8]
          [11 12]
          [13 14]
          [15 16]]

标签: python

解决方案


根据@Karina 的评论,您必须事先删除空数组。Sop 只需更改您声明 E 的方式以包含某种过滤器:

E = [i for i in (a, b, c, d) if len(i) > 0]

推荐阅读