【问题标题】:Reshape three matrices into one将三个矩阵重整为一个
【发布时间】:2020-09-28 19:16:20
【问题描述】:

假设test = np.array(5*[np.eye(5), 10*np.eye(5), 15*np.eye(5)])。我在一个形状为(3, 5, 5) 的数组中有三个矩阵。一般来说,我如何重塑test 以将三个矩阵合二为一?在该特定示例中,我希望形状为(15, 5)。我想要一种通用的方法,而不使用像np.reshape(test, (15,5)) 这样真正具体的方法。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请在说“将三个矩阵合二为一”时更准确。你到底想做什么?
  • test 如上所述是一个numpy 数组。您从 3 个 2d 数组开始,以 1 个 3d 数组结束。
  • 我猜test.reshape(-1,test.shape[2]) 尽可能短且不具体。
  • 具体形状有什么问题?从3,5 得到15 并不难。 np.reshape( test, (test.shape[0]*test.shape[1], test.shape[2]))。答案建议使用 -1 快捷方式,但即使没有,重塑也很容易。

标签: python arrays numpy matrix


【解决方案1】:

您可以在 reshape 中使用 -1 来隐式计算所需的尺寸形状:

test = test.reshape(-1, test.shape[-1])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-17
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2015-08-08
    相关资源
    最近更新 更多