Как найти длину (или размеры, размер) матрицы numpy в python?
Для матрицы numpy в python
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.
Итак, есть ли более интуитивный способ найти размер матрицы, или это лучшее, что у меня есть?
Ответы
Ответ 1
shape
является свойством как numpy ndarray, так и матриц.
A.shape
вернет кортеж (m, n), где m - количество строк, а n - количество столбцов.
Фактически, объект numpy matrix
создается поверх объекта ndarray
, одного из двух основных объектов (вместе с универсальным функциональным объектом), поэтому он наследует от ndarray
Ответ 2
matrix.size
согласно numpy docs возвращает Number of elements in the array.
Надежду, которая помогает.