区别
类型 | 特点 |
---|---|
ndarray | 可以为多维(1D,2D,3D····ND) |
matrices | 必须为2维 |
Matrix
是Array
的一个小的分支,包含于Array
。所以matrix
拥有array
的所有特性。
优势区分
虽说matrix
仅仅是array
的一个小分支,但是他也是有自己的优势的
matrix
的优势就是相对简单的运算符号- 比如两个矩阵相乘,就是用符号
*
,但是array
相乘不能这么用,得用方法.dot()
或者.matmul()
array
的优势就是不仅仅表示二维,还能表示3、4、5…维
矩阵性质区分
matrix
和array
后面加上.T
得到转置matrix
还可以在后面加.H
得到共轭矩阵matrix
加.I
得到逆矩阵
矩阵乘法区分
- array 乘法:
*
代表点乘(对应元素相乘);dot()
代表矩阵乘;multiply
代表点乘 - matrix 乘法:
*
代表矩阵乘,multiply()
代表点乘。
array和matrix之间的转换
array——>matrix
np.asmatrix()
#导入模块
import numpy as np
#创建array数组
In [12]: a1 = np.array([[1,2], [3,4]])
#输出打印 a1 数组
In [13]: a1
Out[13]:
array([[1, 2],
[3, 4]])
#通过 a1 数组 转换 matrix 的 a2 矩阵
In [14]: a2 = np.asmatrix(a1)
#输出打印a2
In [15]: a2
Out[15]:
matrix([[1, 2],
[3, 4]])
matrix——>array
np.asarray()
#导入模块
import numpy as np
#创建 matrix 矩阵
In [17]: t1 = np.mat([[1,2], [3,4]])
#输出打印 t1
In [18]: t1
Out[18]:
matrix([[1, 2],
[3, 4]])
#通过矩阵 t1 转换为 array数组
In [19]: t2 = np.asarray(t1)
#输出打印 array 数组
In [20]: t2
Out[20]:
array([[1, 2],
[3, 4]])