Numpy常用统计函数详解
Numpy 中提供了常用的数学统计函数。通过这些统计函数我们可以很容易求得最大值、最小值、分位数、均值方差等。另外我们还可以计算两个向量的相关性。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
1. 基本统计函数
基本统计函数一般用于求最大值、最小值、分位数。基本统计函数返回的是对该数组整体的描述。示例代码如下。In [1]: import numpy as np In [2]: a=np.array([[1,2,3], ...: [4,5,6], ...: [7,8,9]])
1) admin求最小值
amin 方法用来计算最小值,我们可以通过axis参数指定是计算每一行的最小值,还是每一列的最小值,还是整体的最小值。In [3]: np.amin(a,axis=0) # 按行,返回最小值 Out[3]: array([1, 2, 3]) In [4]: np.amin(a,axis=1) # 按列,返回最小值 Out[4]: array([1, 4, 7]) In [5]: np.amin(a,axis=None) # 整体返回最小值 Out[5]: 1
2) amax求最大值
amax 方法是与 amin 相对的方法,用于获得指定 axis 的最大值。In [3]: np.amax(a,axis=0) # 按行,返回最小值 Out[3]: array([1, 2, 3]) In [4]: np.amax(a,axis=1) # 按列,返回最小值 Out[4]: array([1, 4, 7]) In [5]: np.amax(a,axis=None) # 整体返回最小值 Out[5]: 7
3) ptp()求最值差
ptp 方法用来获得某行、某列或者整体的最大值与最小值的差值。In [9]: np.ptp(a,axis=0) # 按行,返回最大值-最小值 Out[9]: array([6, 6, 6]) In [10]: np.ptp(a,axis=1) # 按列,返回最大值-最小值 Out[10]: array([2, 2, 2]) In [11]: np.ptp(a,axis=None) # 整体返回最大值-最小值 Out[11]: 8
4) percentile求分位数
percentile 方法用来获得相应 axis 的分位数。In [12]: np.percentile(a,50,axis=0) # 按行,返回50分位数 Out[12]: array([4., 5., 6.]) In [13]: np.percentile(a,50,axis=1) # 按列,返回50分位数 Out[13]: array([2., 5., 8.]) In [14]: np.percentile(a,50,axis=None) # 整体,返回50分位数 Out[14]: 5.0
2. 反应数据波动函数
Numpy 中提供了求均值与方差的函数。均值和方差反映了数组的波动程度,这两个指标是非常重要的。示例代码如下。In [1]: import numpy as np In [2]: a=np.array([[1,2,3], ...: [4,5,6], ...: [7,8,9]])
1) median计算中位数
median 方法用来计算中位数,通过 axis 设置按行、按列还是按整体计算。In [3]: np.median(a,axis=0) # 按行取中位数 Out[3]: array([4., 5., 6.]) In [4]: np.median(a,axis=1) # 按列取中位数 Out[4]: array([2., 5., 8.]) In [5]: np.median(a,axis=None) # 按整体取中位数 Out[5]: 5.0
2) mean计算均值
mean 方法用来计算均值,通过axis设置按行、按列还是按整体计算。In [6]: np.mean(a,axis=0) # 按行取均值 Out[6]: array([4., 5., 6.]) In [7]: np.mean(a,axis=1) # 按列取均值 Out[7]: array([2., 5., 8.]) In [8]: np.mean(a,axis=None) # 按整体取均值 Out[8]: 5.0
3) var计算方差
var 方法用来计算方差,通过axis设置按行、按列还是按整体计算。In [9]: np.var(a,axis=0) # 按行取方差 Out[9]: array([6., 6., 6.]) In [10]: np.var(a,axis=1) # 按列取方差 Out[10]: array([0.66666667, 0.66666667, 0.66666667]) In [11]: np.var(a,axis=None) # 按整体取方差 Out[11]: 6.666666666666667
4) 计算标准差
std 方法用来计算标准差,通过axis设置按行、按列还是按整体计算。In [12]: np.std(a,axis=0) # 按行取标准差 Out[12]: array([2.44948974, 2.44948974, 2.44948974]) In [13]: np.std(a,axis=1) # 按列取标准差 Out[13]: array([0.81649658, 0.81649658, 0.81649658]) In [14]: np.std(a,axis=None) # 按整体取标准差 Out[14]: 2.581988897471611
3. 数据分布密度相关函数
Numpy 中提供了计算密度的相关函数。数据的密度可以帮助我们很好地理解数组的大致分布。简单来说就是看哪些数值出现的次数比较多,数值大部分集中分布在哪个区间。示例代码如下。In [1]: import numpy as np In [2]: np.bincount([1,2,2,4,5]) # 计数 Out[2]: array([0, 1, 2, 0, 1, 1], dtype=int64) In [3]: np.histogram([1,2,2,4,5]) # 计数 Out[3]: (array([1, 0, 2, 0, 0, 0, 0, 1, 0, 1], dtype=int64), array([1. , 1.4, 1.8, 2.2, 2.6, 3. , 3.4, 3.8, 4.2, 4.6, 5. ]))
4. 判断数组相关性函数
Numpy 中提供了计算序列相关性的相关函数。相关性可以帮助我们理解两个数组是否具有一定的一致性。示例代码如下。In [1]: import numpy as np In [2]: a=np.array([[1,3,3], ...: [3,2,1]]) In [3]: np.cov(a) # 计算协方差 Out[3]: array([[ 1.33333333, -1. ], [-1. , 1. ]]) In [4]: np.corrcoef(a) # 计算协方差系数 Out[4]: array([[ 1. , -0.8660254], [-0.8660254, 1. ]])
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。