如何在 Python 中从 Numpy 矩阵创建列表
我使用 numpy 中的 dot() 函数将 3x3 的矩阵与 1x3 的 numpy.array 相乘。例如,输出如下:
[[ 0.16666667 0.66666667 0.16666667]]
其类型为:
<class 'numpy.matrixlib.defmatrix.matrix'>
如何将其转换为列表。因为我知道结果始终是 1x3 的矩阵,所以应该将其转换为列表,因为我需要能够稍后循环它以计算其中两个列表的皮尔逊距离。
总结一下:如何从这个矩阵中列出一个列表?
I using the dot() function from numpy to multiply a matrix of 3x3 with a numpy.array of 1x3. The output is for example this:
[[ 0.16666667 0.66666667 0.16666667]]
which is of type:
<class 'numpy.matrixlib.defmatrix.matrix'>
how can I convert this to a list. Because I know the result will always be a matrix of 1x3 so it should be coverted to a list because I need to be able to loop through it later for calculation the pearson distance of two of those lists.
So to summarize: how can I make a list from this matrix?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
可能不是执行此操作的最佳方法,但以下方法有效:
或
或
May not be the optimal way to do this but the following works:
or
or
如果
a
是您的矩阵,请尝试,但您不需要将其转换为列表来迭代它。
If
a
is your matrix, trybut you don't need to turn it into a list to iterate over it.
在矩阵上使用 tolist() 方法目的 :
Use the tolist() method on the matrix object :
另一种方式:
Another way:
为什么不简单:
例如:
why not simple:
for example:
结果
results in
我来这里寻找一种将 numpy 矩阵转换为典型的二维列表的方法。
对于 numpy 矩阵 m:
如果您只想要 1 xn 矩阵 m 的一维列表:
I came here looking for a way to convert numpy matrices to typical 2D lists.
For a numpy matrix m:
If you just want a one dimensional list from a 1 x n matrix m:
尝试这种简单的方法。它适用于一维数组,不知道是否适用于更高维度。
Try this simplistic approach. It works with 1D arrays, do not know with higher dimensions.
我认为
getA1()
可以完成这项工作。从文档中:
来自 https://docs.scipy.org/doc/numpy/reference/ generated/numpy.matrix.getA1.html
I think
getA1()
can do the job.From the documentation:
From https://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.getA1.html
此代码片段会将内置函数“float”(将某些内容转换为浮点数)应用于 a 的每个元素。由于 a 的第一个元素本身就是一个数组,因此必须对其进行转置,以便每个数字都成为 a 本身的元素。在此示例中,a.transpose() 相当于 np.matrix([[1],[2],[3],[4]]) 。
This code snippet will apply the built-in function "float" - which converts something to a floating point number - to every element of a. Since the first element of a is an array itself, it has to be transposed, so that every number becomes an element of a itself. a.transpose() is equivalent to np.matrix([[1],[2],[3],[4]]) in this example.