numpy堆叠矩阵在一起,具有相同的子维度

时间:2017-12-06 19:40:24

标签: python numpy

假设我有一个矩阵

mat = np.empty((0, 3, 5))

我有另一个形状矩阵(3,5),如何将该矩阵添加到mat [0]?

我尝试了堆栈,vstack,hstack,连接和插入的不同组合,它们似乎无法正常工作

2 个答案:

答案 0 :(得分:0)

我建议你这样做来创建你的矩阵。 :)

您的矩阵在当前状态下为空。与[]一样。

import numpy as np

rows = 5
cols = 3
mat = np.array([[0] * cols] * rows)
mat_2 = np.empty((0, 3, 5))

print mat
print mat_2
# out for mat:
[[0 0 0]
 [0 0 0]
 [0 0 0]
 [0 0 0]
 [0 0 0]]
# out for mat_2:
[]

为了使我的答案最终完成,正如我在评论中所述,只需添加您要添加​​的两个矩阵,如m1 + m2

rows = 5
cols = 3
mat = np.array([[1] * cols] * rows)
mat_2 = np.array([[2] * cols] * rows)

print mat + mat_2
# out :
[[3 3 3]
 [3 3 3]
 [3 3 3]
 [3 3 3]
 [3 3 3]]

答案 1 :(得分:0)

我知道您想要将3x5矩阵插入空数组。然后np.append可以做到这一点。只需指定正确的轴。

import numpy as np

mat = np.empty((0,3,5))

mat3x5 = np.matrix('1,1,1,1,2;3,1,2,3,1;2,3,1,2,3')

mat3x5 = np.expand_dims(mat3x5, 0)

result = np.append(mat, mat3x5, axis=0)