Numpy是一个强大的Python计算库。它提供了广泛的数学函数来对数组和矩阵执行各种操作。本文将对一些基本的、常用的数学运算进行梳理。基本数学运算:Numpy提供了许多基本数学函数,用于对数组执行加、减、乘、除等运算。这些函数包括numpy.add()、numpy.subtract()、numpy.multiply()和numpy.divide()。线性代数函数:Numpy还提供了许多线性代数函数,用于执行矩阵乘法、行列式和求逆等运算。这些函数包括numpy.dot()、numpy.linalg.det()和numpy.linalg.inv()。统计和概率函数:Numpy提供了许多统计和概率函数,用于执行均值、中位数、标准差和相关性等操作。这些函数包括numpy.mean()、numpy.median()、numpy.std()和numpy.corrcoef()。三角函数和对数函数:Numpy还提供了许多三角函数和对数函数,用于执行正弦、余弦、正切和对数等运算。这些函数包括numpy.sin()、numpy.cos()、numpy.tan()和numpy.log()。基本数学运算我们将介绍基本数学运算:加法使用numpy.add()将两个数组元素一一相加。例如,要添加两个数组a和b,可以使用以下代码:importnumpyasnpa=np.array([1,2,3])b=np.array([4,5,6])c=np.add(a,b)print(c)#输出:[5,7,9]你也可以使用+运算符:c=a+bprint(c)#输出:[5,7,9]减法numpy.subtract()可用于从另一个元素中减去一个数组。例如,要从数组a中减去数组b,可以使用以下代码:importnumpyasnpa=np.array([1,2,3])b=np.array([4,5,6])c=np.subtract(a,b)print(c)#输出:[-3,-3,-3]你也可以使用-运算符:c=a-bprint(c)#输出:[-3,-3,-3]乘法numpy.multiply()函数可用于将两个数组按元素相乘。例如,要将两个数组a和b相乘,可以使用以下代码:importnumpyasnpa=np.array([1,2,3])b=np.array([4,5,6])c=np.multiply(a,b)print(c)#Output:[4,10,18]你也可以使用*运算符:c=a*bprint(c)#Output:[4,10,18]需要注意的一点是,这是逐元素乘法,点积乘法用的是dot,后面会介绍。因此,这个操作要求两个变量的维度相同,如果不同,则先进行广播操作。除法numpy.divide()函数可用于按元素将一个数组除以另一个数组。例如,要将数组a除以数组b,可以使用以下代码:importnumpyasnpa=np.array([1,2,3])b=np.array([4,5,6])c=np.divide(a,b)print(c)#输出:[0.25,0.4,0.5]也使用/运算符:c=a/bprint(c)#输出:[0.25,0.4,0.5]再次解释:以上所有的函数都是对输入数组应用element-wise,也就是element-wise,所以它们返回的是一个和输入的shape相同的数组。最常见的线性代数函数是点积。numpy.dot()函数可用于计算两个数组的点积。例如,要计算两个一维数组a和b的点积,可以使用以下代码:importnumpyasnpa=np.array([1,2,3])b=np.array([4,5,6])c=np.dot(a,b)print(c)#输出:32或者直接使用@运算符c=a@bprint(c)#输出:32矩阵乘法numpy.matmul()函数可用用于执行两个数组的矩阵乘法。例如,要执行两个二维数组a和b的矩阵乘法,可以使用以下代码:importnumpyasnpa=np.array([[1,2],[3,4]])b=np。array([[5,6],[7,8]])c=np.matmul(a,b)print(c)#Output:#[[1922]#[4350]]可以使用@运算符执行矩阵乘法:c=a@bprint(c)#输出:#[[1922]#[4350]]转置numpy.transpose()函数可用于转置数组。例如,要转置二维数组a,可以使用以下代码:importnumpyasnpa=np.array([[1,2],[3,4]])b=np.transpose(a)print(b)#Output:#[[13]#[24]]也可以直接使用.T属性转置数组:b=a.Tprint(b)#Output:#[[13]#[24]]行列式numpy.linalg.det()函数可用于计算方形数组的行列式。例如,要计算二维数组a的行列式,可以使用以下代码:importnumpyasnpa=np.array([[1,2],[3,4]])d=np.linalg.det(a)print(d)#Output:-2.000000000000000注意输入数组必须是方阵,即行数和列数必须相同。逆numpy.linalg.inv()函数可用于计算方形数组的逆。例如,要计算二维数组a的逆,可以使用以下代码:importnumpyasnpa=np.array([[1,2],[3,4]])b=np.linalg.inv(a)print(b)#输出:#[[-2.1.]#[1.5-0.5]]需要注意的是,输入数组必须是方阵,行列式必须非零。否则,numpy将引发LinAlgError。以上就是我们常用的线性代数函数。有更多函数可以计算矩阵和数组的线性代数运算。您可以查看Numpy文档。三角函数和对数函数Numpy包含一些最常用的三角函数,包括Numpy.sin()、Numpy.cos()、Numpy.tan()、Numpy.arcsin()、Numpy.arccos()、Numpy.arctan()或Numpy.log()。numpy.sin()示例:importnumpyasnpa=np.array([0,30,45,60,90])b=np.sin(a)print(b)#输出:[0.0.50.707106780.86602541.]numpy.log计算自然对数是指数函数的倒数,所以log(exp(x))=x。自然对数是以e为底的对数。importnumpyasnpnp.log([1,np.e,np.e**2,0])#array([0.,1.,2.,-Inf])以上是常用的数学函数在Numpy中希望对你有所帮助。另外,Numpy的文档非常详细。想找函数可以直接查询:https://avoid.overfit.cn/post/c9a8bf3519c74cd8ac6f9121acae6c80作者:MarioRodriguez
