Python数据分析基础与应用模块3数据分析应用NumPy
3.6NumPy统计计算与分析
1.计算numpy数组沿指定轴的最小值与最大值numpy中amin()和amax()这两个函数分别用于获取数组沿指定轴的最小值与最大值。(1)amin()函数沿指定的轴,获取数组中元素的最小值,并以数组形式返回;(2)amax()函数沿指定的轴,获取数组中元素的最大值,并以数组形式返回。对于二维数组来说,axis=1表示沿着水平方向,axis=0表示沿着垂直方向,如图3-10所示。3.6.1NumPy统计计算
3.6.1NumPy统计计算图3-10axis水平轴和重直轴
3.6.1NumPy统计计算2.计算numpy数组元素中最大值与最小值的差值numpy中ptp()函数用于计算数组元素中最大值与最小值的差值,即最大值-最小值。
3.6.1NumPy统计计算3.沿指定轴计算numpy数组中百分位数百分位数,是统计学中使用的一种度量单位。numpy中percentile()函数用于沿指定轴计算数组中指定的百分位数,其语法格式如下:numpy.percentile(array,q,axis)其参数说明如下:?array:numpy数组;?q:要计算的百分位数,在0~100之间;?axis:沿着指定的轴计算百分位数。
3.6.1NumPy统计计算4.计算numpy数组元素的中位数numpy中median()函数用于计算数组元素的中位数(中值)。5.沿指定的轴计算numpy数组中元素的算术平均值numpy中mean()函数用于沿指定的轴计算数组中元素的算术平均值,即元素之总和除以元素数量。
3.6.1NumPy统计计算6.使用average()函数计算numpy数组元素的加权平均值numpy中average()函数根据在数组中给出的权重,计算数组元素的加权平均值。该函数可以接受一个轴参数axis,如果未指定,则数组被展开为一维数组。其语法格式如下:average(array,axis=1,weights=wt,returned=True))其参数说明如下:?array:numpy数组;?axis:沿着指定的轴计算百分位数;?weights:指定的权重,未指定权重时则权重默认为1;?returned:指定是否返回权重的和,设置为True则返回权重之和。
3.6.1NumPy统计计算7.使用numpy的var()函数计算方差方差在统计学中也称样本方差,如何求得方差呢?首先我们要知道全体样本的平均值M,然后再求得每个样本值与均值之差的平方和,最后对差的平方和求均值。8.使用numpy的std()函数计算标准差标准差的计算公式如下:std=sqrt(mean((x-x.mean())**2NumPy中使用np.std()计算标准差。
3.6.2NumPy数组线性代数计算1.使用numpy的dot()函数计算两个矩阵的点积numpy中dot()函数按照矩阵的乘法规则,计算两个矩阵的点积。点积运算就是将array1数组的每一行元素与array2数组的每一列元素相乘再相加。当输入一维数组时返回一个结果值,若输入的多维数组则同样返回一个多维数组结果。
3.6.2NumPy数组线性代数计算2.使用numpy的vdot()函数计算两个向量的点积numpy的vdot()函数用于计算两个向量的点积,与dot()函数不同。3.使用numpy的inner()函数计算数组之间的内积numpy的inner()函数用于计算数组之间的内积。当计算的数组是一维数组时,它与dot()函数相同,若输入的是多维数组则两者存在不同。4.使用numpy的matmul()函数计算两个矩阵的乘积numpy中matmul()函数用于计算两个矩阵的乘积,如果两个矩阵的维度不一致,就会产生错误。
3.6.2NumPy数组线性代数计算5.使用对角线元素来计算矩阵的行列式numpy中linalg.det()函数使用对角线元素来计算矩阵的行列式。计算2*2(两行两列)的行列式,示例如下:[[1,2],[3,4]]通过对角线元素求行列式的结果(口诀:“一撇一捺”计算法):1*4-2*3=-2可以使用numpy.linalg.det()函数来完成上述过程的计算。
3.6.2NumPy数组线性代数计算6.使用inv()函数计算矩阵的逆矩阵numpy中linalg.inv()函数用于计算矩阵的逆矩阵,逆矩阵与原矩阵相乘得到单位矩阵。
3.6.3NumPy数组排序1.使用numpy.sort()函数对数组执行排序操作numpy.sort()函数用于对数组执行排序,并返回一个数组副本。其语法格式如下:numpy.sor