您的位置:首页 > 编程语言 > Python开发

Numpy学习笔记之Numpy中的矩阵运算

2018-03-07 20:29 274 查看
原生List不支持乘积运算,而使用for 运算与列表表达式运算效率太低
%%timeit(自动循环多次取最快的运算时间取均值)和%%time(只运行一次)可以查看时间效率,%支持单行,%%支持多行



numpy支持*运算
numpy把一维数组当成向量,把二维数组当成矩阵,支持向量和矩阵的运算,并进行了很好的优化



/普通除法,结果为浮点数,//整除,取整数部分









#矩阵与矩阵之间的运算(行列对应)



乘法特殊



矩阵乘法注意
k*m 与m*n的矩阵得到k*n的矩阵前一个的列与后一个的行要一致





#矩阵的转置
行变成列,列变成行
A.T



向量和矩阵之间的运算
先将向量堆叠成和矩阵相应的shape再运算
A二维矩阵,v一维向量
使用np.vstack堆叠或使用tile方法(第一个参数传入堆叠的对象,第二个参数传入元组,行列依次堆叠几次)



而直接v+A也是将向量与矩阵的每行进行加法运算,数与向量做加法即与向量的每个坐标值进行加法运算
结果相同



#向量与矩阵之间的乘法
v是1*2的向量,A是2*2的矩阵相乘dot方法:
v.dot(A)   看成1*2的行向量阵v 与 2*2的矩阵A 进行矩阵间的乘法运算,结果行向量
A.dot(v)   看成2*2 的矩阵A 与 2*1 的 列向量v 进行乘法运算 ,需要时Numpy会自动地把向量当成列向量,结果为列向量
前一个的行乘后一个额列

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: