numpy的matrix常用方法及與array的關係

引言

使用numpy過程中,經常涉及mat和array的使用、相互轉換,用的糊里糊塗,一不小心就報錯。現在就係統的梳理下兩者的用法和關係。

matrix與array的關係

  1. matrix是np.array的子集,mat是隻能是二維矩陣,當做線代的矩陣。array可以是n維矩陣。
  2. numpy裏函數大多默認返回array類型。如zeros、ones、arrange等
  3. array的方法mat也大多支持,只是返回類型不同。
  4. 不同: 乘法:array是對應位置元素相乘;matrix是矩陣乘法。其他mean等計算類函數也不相同,使用時留意。

matrix的常用函數

matrix類在defmatrix.py中有詳細的定義。

方法概括起來包含3類:

1)計算類:sum\mean\std\max\min
2)矩陣變換類:getI\getT\flatten
3)類型轉換類:tolist\getA

具體方法和說明:

tolist():轉成標準list返回。
sum(self, axis=None, dtype=None, out=None):按axis軸求和;axis=0是按列;axis=1是按行。
squeeze(self, axis=None):
flatten(self, order='C'):壓平。返回mat[[n,1]],n是mat元素的個數。(mat的方法返回mat,mat一定是2維矩陣,所以是[[n,1]];對應的array也有flatten,直接返回list)
mean(self, axis=None, dtype=None, out=None):
std(self, axis=None, dtype=None, out=None, ddof=0)
var(self, axis=None, dtype=None, out=None, ddof=0):
prod():連乘。
max/min(self, axis=None, out=None):返回指定軸axis的最大值
argmax/argmin(self, axis=None, out=None):返回指定軸axis的最大值index
ptp(self, axis=None, out=None):peak_to_peak(max-min)
getT(self):轉置
getI(self):求逆矩陣
getA(self):轉array

array常用函數

ndarray在multiarray.py中詳細的定義

具體方法和說明

astype():類型轉換
clip():修剪,把值域限定在指定範圍,超過的用min\max表示。
dump(self, file):導出到指定文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章