[転載] numpyチュートリアル:行列とその操作

参照リンク:Pythonのnumpy.asmatrix

http://blog.csdn.net/pipisorry/article/details/48791403

numpyマトリックスの紹介

NumPy関数ライブラリには2つの異なるデータ型(行列と配列)があり、どちらも行と列で表される数値要素を処理するために使用できます。それらは似ていますが、これら2つのデータ型に対して同じ数学演算を実行すると異なる結果が得られる可能性があり、NumPyライブラリの行列はMATLABの行列と同等です。

numpyモジュールの行列オブジェクトはnumpy.matrixであり、行列データ処理、行列計算、および複素数の処理を含む基本的な統計関数、転置、可逆性などがすべて行列オブジェクトに含まれています。

numpyの行列と2次元配列の選択について

マトリックスは配列のブランチです。マトリックスと配列は多くの場合一般的ですが、公式の推奨事項は、2つを共通に使用できる場合は、配列がより柔軟で高速であるため、配列を選択することです。 -行列への次元配列。行列の利点は、行列乗算のシンボル*などの比較的単純な演算シンボルですが、配列乗算のメソッド.dot()です。

注:配列*マットも行列乗算であり、ドット乗算ではありません。

配列の利点は、2次元だけでなく、3、4、5 ...次元でもあり、ほとんどのPythonプログラムでは、配列もより一般的に使用されます。

注意: 

1. numpyの2次元配列は、反転(GUIの場合)をサポートしていませんが、scripyでlinalg.inv()関数を使用して反転できます。

2. lzは、行列の代わりに2次元のndarrayを使用し、scripy.linalgライブラリを使用してすべての行列演算を実行することをお勧めします。[Scipyチュートリアル-線形代数ライブラリlinalg]

ピッピブログ

 

 

マトリックスオブジェクト

例を作成する

np.matrix

>>> a = np.matrix( '1 2; 3 4')>>> print a [[1 2] [3 4]]

>>> np.matrix([[1、2]、[3、4]])matrix([[1、2]、[3、4]])

注意:

1.クラスnumpy.matrix(data、dtype、copy):行列を返します。ここで、dataはndarrayオブジェクトまたは文字形式、dtype:はデータのタイプ、copy:はboolのタイプです。

2.行列の改行はセミコロン(;)で区切る必要があり、内部データは文字列( '')の形式である必要があり、行列の要素はスペースで区切る必要があります。

3.マトリックス内のデータは、配列オブジェクトにすることができます。

例:asmatrix

>>> x = np.array([[1、2]、[3、4]])>>> m = np.asmatrix(x)>>> x [0,0] = 5 >>> mmatrix( [[5、2]、[3、4]])

属性

 

行列オブジェクトメソッド

 

 

[numpy-ref-1.8.1-1.6.2マトリックスオブジェクトp120]

行列行列オブジェクトメソッドの使用例

 

>>> a = np.asmatrix( '0 2 7; 3 4 8; 5 0 9')

>>> a.all()

誤り

>>> a.all(axis = 0)

matrix([[False、False、True]]、dtype = bool)

>>> a.all(axis = 1)

matrix([[False]、

[真]、

[False]]、dtype = bool)

 

üAstypeメソッド

>>> a.astype(float)

行列([[12.、3.、5。]、

[32.、23.、9。]、

[10。、-14。、78。]])

 

üArgsortメソッド

>>> a = np.matrix('12 3 5; 32 23 9; 10 -14 78 ')

>>> a.argsort()

マトリックス([[1、2、0]、

[2、1、0]、

[1、0、2]])

 

üクリップ方式

>>> a

行列([[12、3、5]、

[32、23、9]、

[10、-14、78]])

>>> a.clip(12,32)

行列([[12、12、12]、

[32、23、12]、

[12、12、32]])

 

üカンプロド法

>>> a.cumprod(axis = 1)

行列([[12、36、180]、

[32、736、6624]、

[10、-140、-10920]])

 

üCumsumメソッド

>>> a.cumsum(axis = 1)

行列([[12、15、20]、

[32、55、64]、

[10、-4、74]])

 

üTolistメソッド

>>> b.tolist()

[[12、3、5]、[32、23、9]、[10、-14、78]]

 

üTofileメソッド

>>> b.tofile( 'd:\\ b.txt')

 

ücompress()メソッド

>>> numpyimportから*

>>> a = array([10、20、30、40])

>>>条件=(a> 15)&(a <35)

>>>状態

array([False、True、True、False]、dtype = bool)

>>> a.compress(condition)

array([20、30])

>>> a [条件]#同じ効果

array([20、30])

>>> compress(a> = 30、a)#このフォームa

そう存在します

array([30、40])

>>> b = array([[10,20,30]、[40,50,60]])

>>> b.compress(b.ravel()> = 22)

array([30、40、50、60])

>>> x = array([3,1,2])

>>> y = array([50、101])

>>> b.compress(x> = 2、axis = 1)# 

axisキーワードの使用

配列([[10、30]、

[40、60]])

>>> b.compress(y> = 100、axis = 0)

array([[40、50、60]])

 

ピッピブログ

 

 

Matrixクラスnumpy行列クラス

マトリックスを構築する

 

注:numpy.mat(data、dtype = None)入力を行列として解釈します。行列とは異なり、入力がすでに行列またはndarrayである場合、asmatrixはコピーを作成しません。matrix(data、copy = False)と同等です。

[numpy-ref-1.8.1-3.1.7マトリックスクラスp484]

ピッピブログ

 

マトリックスライブラリ(numpy.matlib)

このモジュールには、numpy名前空間内のすべての関数が含まれており、ndarrayの代わりに行列を返す次の置換関数が含まれています。

numpy名前空間にもあり、行列を返す関数

 

matlibの置換関数

 

[numpy-ref-1.8.1-3.21マトリックスライブラリp940]

差出人:http://blog.csdn.net/pipisorry/article/details/48791403

おすすめ

転載: blog.csdn.net/u013946150/article/details/113057632
おすすめ