numpy中matrix和array的区别

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,)        # 维度改变
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值