一维数组运算
- 生成一维示例数组
>>> a = np.array([1, 2, 3, 4, 5])
>>> b = np.arange(1, 6)
>>> a, b
(array([1, 2, 3, 4, 5]), array([1, 2, 3, 4, 5]))
- 一维数组加法运算
>>> a + b
array([ 2, 4, 6, 8, 10])
- 一维数组减法运算
>>> a - b
array([0, 0, 0, 0, 0])
- 一维数组乘法运算
>>> a * b
array([ 1, 4, 9, 16, 25])
- 一维数组除法运算
>>> a / b
array([1., 1., 1., 1., 1.])
二维数组(矩阵)运算
- 生成二维示例数组(可以看作矩阵)
>>> A = np.array([[1, 2],[3, 4]])
>>> B = np.array([[5, 6],[7, 8]])
>>> A, B
(array([[1, 2],
[3, 4]]), array([[5, 6],
[7, 8]]))
- 矩阵加法运算
>>> A + B
array([[ 6, 8],
[10, 12]])
- 矩阵减法运算
>>> A - B
array([[-4, -4],
[-4, -4]])
- 矩阵元素间乘法运算
>>> A * B
array([[ 5, 12],
[21, 32]])
- 矩阵乘法运算
>>> np.dot(A, B)
array([[19, 22],
[43, 50]])
注意:np.dot(A, B)
与上题A * B
的区别,如果不了解矩阵乘法运算,点击百度百科学习。
# 如果使用 np.mat 将二维数组准确定义为矩阵,就可以直接使用 * 完成矩阵乘法计算
>>> np.mat(A) * np.mat(B)
matrix([[19, 22],
[43, 50]])
- 数乘矩阵
>>> 2 * A
array([[2, 4],
[6, 8]])
- 矩阵的转置
>>> A.T
array([[1, 3],
[2, 4]])
- 矩阵求逆
>>> np.linalg.inv(A)
array([[-2. , 1. ],
[ 1.5, -0.5]])
关于逆矩阵,请查看百科