NumPy统计函数详解:最小值、最大值、百分位与标准差
本文详细介绍NumPy中常用的统计函数,包括计算数组沿指定轴的最小值和最大值的numpy.amin()与numpy.amax(),计算极差的numpy.ptp(),以及用于计算百分位数的numpy.percentile()。此外,还涵盖了标准差的计算原理及中位数、加权平均数和算术平均数的相关函数,帮助开发者高效进行数据统计分析。
NumPy极值计算:amin与amax
NumPy库提供了numpy.amin()和numpy.amax()两个函数,分别用于处理数组中的极值问题。
numpy.amin()的主要功能是计算数组中元素沿着指定轴的最小值。
与之对应,numpy.amax()用于计算数组中元素沿着指定轴的最大值。
a=np.array([1,3,6],[3,4,11],[6,1,4])
print(np.amin(a,1) #每行最小值
print(np.amin(a,0) #每列最小值
print(np.amax(a) #所有元素中最大值
print(np.amax(a,1)) #j每行的最大值
以下是具体的运行结果展示:
[1 3 1] [1 1 4] 11 [ 6 11 6]
极差计算:ptp函数
接下来介绍numpy.ptp()函数。
该函数用于计算数组中元素的最大值与最小值的差,即最大值减去最小值的结果。
百分位数分析:percentile函数
此外,NumPy还提供了numpy.percentile()函数用于更细致的分布分析。
这里的q参数表示要计算的百分位数。
numpy.percentile(a,q,axis)
- 参数a代表输入的数组对象。
- 参数q指定需要计算的百分位数值。
- 参数axis指定沿着哪个轴来计算百分位数。
对于一个给定的数组,如果我们设置它的百分位数为20,则可以推算出在该数组排序后位于前20%位置的数值是多少。例如:
percentail百分数
a = np.array([[21, 60, 4], [10, 20, 1]])
print('数组a:')
print(a)
print('调用 percentile() 函数:')
50% 的分位数,就是 a 里排序之后的中位数
print(np.percentile(a, 20))
axis 为 0,在纵列上求
print(np.percentile(a, 20, axis=0))
axis 为 1,在横行上求
print(np.percentile(a, 20, axis=1))
保持维度不变
print(np.percentile(a, 20, axis=1, keepdims=True))
程序执行后的输出结果如下:
数组a: [[21 60 4] [10 20 1]] 调用 percentile() 函数: 4.0 [12.2 28. 1.6] [10.8 4.6] [[10.8] [ 4.6]]
Process finished with exit code 0
标准差与其他统计函数
标准差是衡量数据离散程度的重要指标。
其计算公式为std=sqrt(mean((x-x.mean()) * * 2)。
其中mean((x-x.mean()) * * 2)指的是每个样本与全体样本值的平均数之差的平方,即方差;标准差则是方差的平方根。
NumPy还包含其他几种常用的统计函数。
numpy.mediam()
其中一个函数用于计算数组a中元素的中位数。
numpy.average()
另一个函数通过各数值乘以相应的权数,加总求和得到总体值,再除以总的单位数,即用来计算加权平均数。
numpy.mean()
还有一个函数用于返回数组元素的算术平均值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









