Python的list数据类型形式上能够当作矩阵,可是作运算的时候就不方便了,仍是用NumPy的array和matrix类型比较好。
array和matrix的差别在于matrix的运算基本就是按矩阵运算的定义来进行的,而array还可能是算术运算,因此使用的时候要注意。下面是平时用到的一些方法的说明。数组
a=[ [1, 1], [2, 2]] tile(a, (1, 1)) 或者tile(a, (1)) 不复制 array([[1, 1], [2, 2]]) tile(a, (2, 1)) 行方向复制 array([[1, 1], [2, 2], [1, 1], [2, 2]]) tile(a, (1, 2)) 列方向复制 array([[1, 1, 1, 1], [2, 2, 2, 2]]) tile(a, (2)) 行不动,列方向复制,结果同tile(a, (1, 2))
arr1 * arr2 是数量积, 要作矢量积要用dot(arr1, arr2)
mat1 * mat2是矢量积,要作数量积要用multiply(mat1, mat2)code
array ** n 是对每个元素进行幂运算;
matrix ** n 至关于n个矩阵相成,因此只有方阵才能够。排序
a是array或者matrix :
a.sum() 全部元素的和
a.sum(axis=0) a.sum(0) 按列求和
a.sum(axis=1) a.sum(1) 按行求和ip
a.min() 全部元素的最小值
a.min(axis=0) a.min(0) 按列求最小值
a.min(axis=1) a.min(1) 按行求最小值数据类型
对矩阵进行排序,返回排序后的元素的index数组。 (该方法有多个参数,彷佛能够指定排序方式等,待研究)方法