【发布时间】:2020-11-03 02:00:16
【问题描述】:
假设具有不同行数的多个矩阵。它们包含在一个列表中。如何填充较小矩阵的行,使它们具有与最大矩阵相同的大小?
list_of_matrices = []
list_of_matrices.append(np.array([[3,3],[4,4]]))
list_of_matrices.append(np.array([[1,1,3],[2,2,5]]))
list_of_matrices.append(np.array([[1,1,3,7],[2,2,5,9]]))
从 list_of_matrices 我想创建一个 3D numpy 数组,例如形状为 3x4x2,其中缺失值(因为第一个到 2D 矩阵太小)填充了一个标量值(更具体地说,是每个矩阵围绕轴 1 的平均值)。我想以高效的方式做到这一点(没有 for 循环)。
【问题讨论】:
-
您的数组大小不平衡,这意味着您无法连接它们,或者您应该连接至少用零填充的数组。如果每个项目有不同的形状,也需要某种循环。
-
如何用某些值填充这个列表,使它们都具有相同的形状?我不反对某种循环(如果它是高效的,例如 numpy 函数),我只想避免 for-loops