NumPy统计函数详解:最小值、最大值、百分位与标准差

许南星
许南星
发布时间:2026-10-13 | 2人浏览过
原创

本文详细介绍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()

还有一个函数用于返回数组元素的算术平均值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表