web-dev-qa-db-ja.com

どうやってpythonで派手な行列の長さ(あるいは大きさ、大きさ)を知ることができますか?

Pythonの派手な行列の場合

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

この行列の1行(または1列)の長さを知るにはどうすればいいですか?同様に、行数または列数を知る方法はありますか。

これまでのところ、私が見つけた唯一の解決策は以下のとおりです。

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

それぞれ2、2、1を返します。これから私はlen()が行数を返すことを集めました、それで私はいつも私達に列数のための転置、len(A.T)をすることができます。しかし、len(A)行を読むとき、これが行数を返すべきかどうかはすぐにはわかりません。これは実際には2を返すので、len([1,2])が2D python配列に対して行うのとは異なる動作をします。

それで、マトリックスのサイズを見つけるためのもっと直感的な方法はありますか、それともこれが私が一番良いのでしょうか?

111
Kyle Heuton

shapeは、派手なndarrayと行列の両方の性質です。

A.shape

mは行数、nは列数であるTuple(m、n)を返します。

実際には、numpyの2つの基本的なオブジェクトの1つであるmatrixオブジェクトの上に(汎用関数オブジェクトと共に)numpy ndarrayオブジェクトが構築されているので、ndarrayから継承します

214
Kyle Heuton

numpy docs に従ってmatrix.sizeは助けになるNumber of elements in the array. Hopeを返します。

29
hd1