如何一致地展平 numpy 数组?

2023-12-01

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(使用前将#替换为@)

如何一致地展平 numpy 数组? 的相关文章