0/ 矩阵与数组的区别
在numpy中,np.array(),实际上是ndarray,表示数组,数组可以是一维的,可以是二维的,也可以是多维的。
在numpy中,np.mat()表示矩阵,矩阵只能是二维的,即行和列。
所以np.matrix是np.array的一种特例,因而它继承了array的所有函数,同时还特别为matrix开发了自己新的函数。
简言之,array可以使用的函数,matrix都可以使用,而matrix可以使用的函数array未必可以使用。
1/ 如何生成数组和矩阵
import numpy as np
<1>生成一维数组
np.array([1,2,3,4])
[1 2 3 4]
<2>生成二维数组
np.array([[1,2,3,4],[1,2,3,4]])
[[1 2 3 4]
[1 2 3 4]]
<3>生成三维数组
data_array = np.zeros((3,5,6),dtype=np.int)
[
[[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]
[[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]
[[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]
]
<4>生2维矩阵
np.mat([[1,2,3,4]])
[[1 2 3 4]] # 二维矩阵,一行4列
1/矩阵之间的运算
相同结构(同行同列)的矩阵之间可以进行加减,对应元素之间相加减
不同结构的矩阵之间不能进行加减
一个数据乘以一个矩阵,则是该数据乘以该矩阵中的每一个数据,不改变矩阵的行列结构
矩阵之间的乘法:
一个矩阵的列数必须等于另一个矩阵的行数,这样2个矩阵才能相乘,即(m,n) * (n,l) = (m,l)
矩阵的结果也是矩阵
3/ 矩阵之间的乘法,按照矩阵的规则
第一行*第一列,结果是第一行第一列的元素,第一行*第二列,结果是第一行第二列的元素,依此类推
4/ 数组之间的乘法