from numpy import array, eye, matrix
x = array([1, 0])
A = eye(2)
print(A.dot(x))
prints [1. 0.]
.
另一方面,
B = matrix([[1, 0], [0, 1]])
print(B.dot(x))
prints [[1 0]]
这是一个 1×2 数组。此外,
print(B.dot(x).flatten())
还打印[[1 0]]
.
这很烦人。为什么展平在这里失败了,我还能如何将其变成一维形状?
停止使用matrix
. numpy.matrix.flatten返回一个 1 行矩阵,因为它与matrix
实例得到。如果由于某种原因你执意要使用matrix
,转换为 ndarraymatrix.A展平前:
flat = whatever_matrix.A.flatten()
或者只是使用A1
直接得到一个平面ndarray:
flat = whatever_matrix.A1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)