您的位置:首页 > 编程语言 > Python开发

numpy中matrix和array的区别

2017-11-05 18:12 411 查看
matrix必须是两维的,array可以是多维的(1D,2D,3D,4D)

matrix是array的一个小的分支,包含与array,所有拥有array的所有特性

maxtrix主要优势是:相对简单的乘法运算符号,比如如果a、b都是maxtrix,那么a*b就是矩阵乘积

array矩阵要矩阵相乘要用np.dot

a = np.mat('4 3; 2 1')
b = np.mat('1 2; 3 4')
print(a*b)
>>> [[13 20]
>>> [5 8]]


matrix和array都可以通过objects后面加.T得到其转置

但matrix objects还可以在后面加.H得到共轭矩阵,加.I得到逆矩阵

两个切换:

np.asmatrix和np.asarray

最大的不同是:

做np.mean运算的时候,array的维度会发生变化,maxtix总保持2维

>>> m = np.mat([[1,2],[2,3]])
>>> m
matrix([[1, 2],
[2, 3]])
>>> mm = m.mean(1)
>>> mm
matrix([[1.5],
[2.5]])
>>> mm.shape
(2, 1)      # 维度不变

------------------------------------

>>> a = np.array([[1,2],[2,3]])
>>> a
array([[1, 2],
[2, 3]])
>>> am = a.mean(1)
>>> am
array([1.5, 2.5])
>>> am.shape
(2,)        # 维度改变
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: