Подтвердить что ты не робот

Как найти длину (или размеры, размер) матрицы 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.

Итак, есть ли более интуитивный способ найти размер матрицы, или это лучшее, что у меня есть?

4b9b3361

Ответ 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. Надежду, которая помогает.