如何在 python 中找到 numpy 矩阵的长度(或尺寸、大小)? [复制]

Posted

技术标签:

【中文标题】如何在 python 中找到 numpy 矩阵的长度(或尺寸、大小)? [复制]【英文标题】:How do I find the length (or dimensions, size) of a numpy matrix in python? [duplicate] 【发布时间】:2013-01-28 15:20:39 【问题描述】:

对于python中的numpy矩阵

from numpy import matrix
A = matrix([[1,2],[3,4]])

我怎样才能找到这个矩阵的行(或列)的长度?等效地,我如何知道行数或列数?

到目前为止,我找到的唯一解决方案是:

len(A)
len(A[:,1])
len(A[1,:])

分别返回 2、2 和 1。从这里我收集到len() 将返回行数,所以我总是可以使用转置len(A.T) 来获取列数。但是,这让人感到不满意和随意,因为在阅读len(A) 行时,这应该返回行数并不是很明显。它实际上与 len([1,2]) 对 2D python 数组的工作方式不同,因为这将返回 2。

那么,有没有更直观的方法来查找矩阵的大小,或者这是我拥有的最好的方法?

【问题讨论】:

numpy 维度的第一个结果顺便说一句,试试搜索框... 感谢您指出这个问题!我确实尝试过搜索,但“numpy 矩阵尺寸”(或就此而言的长度或大小)并没有产生任何有用的结果。我阅读了 numpy 教程,但形状已在 ndarray 部分中介绍,并且我没有将 ndarray 的属性扩展到矩阵的联系。我试图通过切换到 numpy 数组来解决我的问题,但是这些数组没有矩阵的线性代数属性,这进一步加深了我的信念,即它们不共享属性 【参考方案1】:

shape 是 numpy ndarray 和矩阵的属性。

A.shape

将返回一个元组 (m, n),其中 m 是行数,n 是列数。

事实上,numpy matrix 对象是建立在 ndarray 对象之上的,ndarray 对象是 numpy 的两个基本对象之一(以及一个通用函数对象),因此它继承自 ndarray

【讨论】:

【参考方案2】:

matrix.size 根据the numpy docs 返回Number of elements in the array. 希望有所帮助。

【讨论】:

谢谢,但我正在寻找行数或列数,而不是元素总数 快速说明:matrix.size 是一个 'int' 对象,不能调用!

以上是关于如何在 python 中找到 numpy 矩阵的长度(或尺寸、大小)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在numpy矩阵中找到最小值?

如何在 14x14 numpy 矩阵中找到 10 个最高数字的索引? [复制]

numpy矩阵向量乘法[重复]

Python (NumPy, SciPy),寻找矩阵的零空间

python如何输入矩阵

如何在 Python 中从 Numpy 矩阵创建列表