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):导出到指定文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章