For a numpy matrix in python
from numpy import matrix
A = matrix([[1,2],[3,4]])
How can I find the length of a row (or column) of this matrix? Equivalently, how can I know the number of rows or columns?
So far, the only solution I've found is:
len(A)
len(A[:,1])
len(A[1,:])
Which returns 2, 2, and 1, respectively. From this I've gathered that len()
will return the number of rows, so I can always us the transpose, len(A.T)
, for the number of columns. However, this feels unsatisfying and arbitrary, as when reading the line len(A)
, it isn't immediately obvious that this should return the number of rows. It actually works differently than len([1,2])
would for a 2D python array, as this would return 2.
So, is there a more intuitive way to find the size of a matrix, or is this the best I have?
shape
is a property of both numpy ndarray's and matrices.
A.shape
will return a tuple (m, n), where m is the number of rows, and n is the number of columns.
In fact, the numpy matrix
object is built on top of the ndarray
object, one of numpy's two fundamental objects (along with a universal function object), so it inherits from ndarray