【发布时间】:2020-04-04 04:28:12
【问题描述】:
我不会用numpy.array创建矩阵的矩阵,这个矩阵只需要两个元素,命令是:
numpy.array([m1,m2])
这与矩阵大小无关,除非矩阵的维度为一。 示例:
m1 = numpy.ones((2,2))
m2 = numpy.ones((2,1))
numpy.array([m1,m2])
在这种情况下显示错误...并且矩阵的形状是 (2,2) 和 (2,1) 但出于某种原因,我认为维度 1 是问题所在。 有人知道解决这个问题。谢谢!
【问题讨论】:
-
数组大小不同,无法制作出整齐的 3d 数组。如果数组在第一个维度上不同,它可以创建一个 (2,) 形状对象 dtype 数组。但是对于相同的第一个维度,
np.array会引发错误。也许你不应该创建这样的数组! -
您到底期待什么?你可以不使用
np.array到达那里吗?请记住,对象 dtype 数组比列表好一点,在某些方面更糟。 -
另一种表达方式 -
np.array([m1,m2])是制作 (2,) 形状对象 dtype 数组的不可靠方式。更好的M=np.empty(2, object)和M[0]=m1和M[1]=m2(或一些变体)。