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

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

本文详细介绍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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。