【问题标题】:Storing "n" number of 2D matrices into a single 3D matrix [duplicate]将“n”个 2D 矩阵存储到单个 3D 矩阵中
【发布时间】:2021-07-31 23:12:03
【问题描述】:

我有“n”个相同大小的二维矩阵。我想将所有这些 2D 矩阵一一存储到一个 3D numpy 矩阵/数组中。

谁能告诉我如何在python中做到这一点?

【问题讨论】:

  • 发帖前你有没有试过自己看?有很多方法可以做到这一点,这个问题显然没有显示出足够的研究努力。
  • @RandomGuy 是的,先生,我看了很多,但所有方法都存储了 2 到 3 个矩阵。但我需要一种方法,将单个矩阵一个一个地存储到 3d numpy 数组中。

标签: python arrays numpy multidimensional-array numpy-ndarray


【解决方案1】:

您可以使用numpy.dstack() 如:

import numpy as np
a = np.array([[1,2,3],[1,2,3]])
b = np.array([[2,3,4],[2,3,4]])
c = np.array([[3,4,5],[3,4,5]])
new_3d = np.dstack((a,b,c))

输出:

[[[1 2 3]
 [2 3 4]
 [3 4 5]]

[[1 2 3]
 [2 3 4]
 [3 4 5]]]

更新新问题:

此外,您可以一次又一次地添加另一个 2d,例如:

d = np.array([[3,4,5],[3,4,5]])
new_3d = np.dstack((new_3d,d))

输出:

[[[1 2 3 3]
 [2 3 4 4]
 [3 4 5 5]]

 [[1 2 3 3]
 [2 3 4 4]
 [3 4 5 5]]]

【讨论】:

  • 但是如果有 100 个二维矩阵呢??
  • @SaptarsheeSarkar 我更新了我的答案,你可以检查一下。
  • 明白了,在使用 dstack 时,当我遍历最终的 3d 数组并想要获取 a、b、c 和 d 矩阵时,我没有得到它们的原始形式?
  • @SaptarsheeSarkar 将以其原始形式添加,但我不完全理解您的问题。加入3d矩阵后要不要得到它们?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 1970-01-01
  • 2016-12-11
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多