是否有替代或更好的方法将 numpy 矩阵转换为 python 数组?
>>> import numpy
>>> import array
>>> b = numpy.matrix("1.0 2.0 3.0; 4.0 5.0 6.0", dtype="float16")
>>> print(b)
[[ 1. 2. 3.]
[ 4. 5. 6.]]
>>> a = array.array("f")
>>> a.fromlist((b.flatten().tolist())[0])
>>> print(a)
array('f', [1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
最佳答案
您可以转换为 NumPy array
并使用 .ravel()
或 .flatten()
生成其扁平化版本。这也可以通过简单地使用函数 np.ravel
来实现。本身,因为它在这两个方面都处于幕后。最后,使用 array.array()
在上面,就像这样 -
a = array.array('f',np.ravel(b))
sample 运行-
In [107]: b
Out[107]:
matrix([[ 1., 2., 3.],
[ 4., 5., 6.]], dtype=float16)
In [108]: array.array('f',np.ravel(b))
Out[108]: array('f', [1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
关于python - 将 numpy 矩阵转换为 python 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39016638/