Python数据分析基础与应用模块3数据分析应用NumPy
3.5NumPy数组算术运算与矩阵乘法
NumPy中的广播机制(Broadcast)旨在解决不同形状数组之间的算术运算问题。我们知道,如果进行运算的两个数组形状完全相同,它们直接可以做相应的运算。3.5.1NumPy数组广播机制
3.5.1NumPy数组广播机制1.求元素数量相同的两个一维数组的乘积代码如下:importnumpyasnparray1=np.array([0.1,0.2,0.3,0.4])array2=np.array([10,20,30,40])array3=array1*array2print(array3)输出结果:[1.4.9.16.]
3.5.1NumPy数组广播机制2.验证Numpy一维数组在轴0上的广播机制的实现过程代码如下:array_a=np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]])#array_b数组与array_a数组形状不同array_b=np.array([1,2,3])print(array_a+array_b)输出结果:[[123][234][345][456]]
3.5.1NumPy数组广播机制3.验证Numpy一维数组在轴1上的广播机制的实现过程代码如下:array_c=np.array([[1],[2],[3],[4]])print(array_a+array_c)输出结果:[[111][333][555][777]]
3.5.2NumPy数组的算术运算使用NumPy,可以轻松地在数组上执行数学运算。NumPy数组的“加减乘除”算术运算,分别对应add()、subtract()、multiple()以及divide()函数。1.NumPy数组的四则运算加、减、乘、除四则运算都是对数组进行逐元素运算,例如(a,b,c)+(d,e,f)的结果就是(a+d,b+e,c+f),分别对每一个元素进行配对,然后对它们进行运算,它返回的结果是一个数组。这里的乘法运算符执行的是逐元素乘法而不是矩阵乘法。
3.5.2NumPy数组的算术运算2.NumPy数组常见的算术运算(1)对NumPy数组中的每个元素求倒数numpy的reciprocal()函数用于对数组中的每个元素取倒数,并以数组的形式将它们返回。当数组元素的数据类型为整型(int)时,对于绝对值小于1的元素,返回值为0,而当数组中包含0元素时,返回值将出现overflow(inf)溢出提示。
3.5.2NumPy数组的算术运算2.NumPy数组常见的算术运算(2)对NumPy数组中的每个元素求幂numpy的power()函数用于将array_a数组中的元素作为底数,把array_b数组中与array_a相对应的元素值求幂,最后以数组形式返回两者的计算结果。(3)求两个数组对应位置上元素相除后的余数numpy的mod()函数返回两个数组相对应位置上元素相除后的余数,它与numpy.remainder()的作用相同。
3.5.2NumPy数组的算术运算3.使用NumPy的舍入函数实现数组元素的舍入运算NumPy提供了三个舍入函数。(1)使用numpy.around()函数实现数组元素的舍入运算numpy的around()函数用于返回一个十进制值数,并将数值四舍五入到指定的小数位上。其语法格式如下:numpy.around(array,decimals)其参数说明如下:?array:代表数组;?decimals:要舍入到的小数位数。其默认值为0,如果为负数,则小数点将移到整数左侧。
3.5.2NumPy数组的算术运算(2)使用numpy.floor()函数实现数组元素的舍入运算numpy的floor()函数用于对数组中的每个元素值向下取整数,即返回不大于数组中每个元素值的最大整数。(3)使用numpy.ceil()函数实现数组元素的舍入运算numpy的ceil()函数与floor函数相反,表示向上取整,即返回不小于数组中每个元素值的最小整数。
3.5.3NumPy数组的矩阵乘法运算1.NumPy数组的逐元素矩阵乘法numpy的multiple()函数用于两个矩阵的逐元素乘法。2.NumPy数组的矩阵乘积运算numpy的matmul()用函数用于计算两个数组的矩阵乘积。3.NumPy数组的矩阵点积numpy的dot()函数用于计算两个矩阵的点积。
快乐学习高效学