Python3 numpy中mean和average的区别详解

花开有时
花开有时
发布时间:2026-10-13 | 5人浏览过
原创

本文详解Python3 numpy中mean和average函数的区别。两者在不指定权重时功能一致,均可计算均值及指定轴方向的平均值。主要差异在于average支持weights参数计算一维加权平均值,而mean不支持。文章通过代码示例展示具体用法与运行结果。

mean与average基础区别

在numpy库中,mean和average均用于计算均值。当未指定权重参数时,这两个函数的行为完全相同。然而,一旦指定了权重,average函数即可用于计算一维数据的加权平均值,而mean函数不具备此功能。

具体实现与差异如下所示:

无权重情况下的计算演示


import numpy as np
a = np.array([np.random.randint(0, 20, 5), np.random.randint(0, 20, 5)])
print('原始数据\n', a)
print('mean函数'.center(20, '*'))
print('对所有数据计算\n', a.mean())
print('axis=0,按行方向计算,即每列\n', a.mean(axis=0)) # 按行方向计算,即每列
print('axis=1,按列方向计算,即每行\n', a.mean(axis=1)) # 按列方向计算,即每行
print('average函数'.center(20, '*'))
print('对所有数据计算\n', np.average(a))
print('axis=0,按行方向计算,即每列\n', np.average(a, axis=0)) # 按行方向计算,即每列
print('axis=1,按列方向计算,即每行\n', np.average(a, axis=1)) # 按列方向计算,即每行
b = np.array([1, 2, 3, 4])
wts = np.array([4, 3, 2, 1])
print('不指定权重\n', np.average(b))
print('指定权重\n', np.average(b, weights=wts))

代码运行后的具体输出结果如下:

加权平均值的计算示例


原始数据
 [[10 12 7 14 5]
 [12 10 2 16 7]]
*******mean函数*******
对所有数据计算
 9.5
axis=0,按行方向计算,即每列
 [ 11. 11. 4.5 15. 6. ]
axis=1,按列方向计算,即每行
 [ 9.6 9.4]
*****average函数******
对所有数据计算
 9.5
axis=0,按行方向计算,即每列
 [ 11. 11. 4.5 15. 6. ]
axis=1,按列方向计算,即每行
 [ 9.6 9.4]
不指定权重
 2.5
指定权重
 2.0

以上就是Python3 numpy中mean和average区别的全部内容。希望上述解析能为您提供参考,欢迎收藏本站以获取更多技术支持。

相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表