mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的。指定权重后,average可以计算一维的加权平均值。
具体如下:
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 取numpy数组的某几行某几列方法python numpy之np.random的随机数函数使用介绍python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.pypython中利用numpy.array()实现俩个数值列表的对应相加方法讲解Python3中NumPy数组寻找特定元素下标的两种方法python+numpy实现的基本矩阵操作示例Python Numpy计算各类距离的方法Python numpy线性代数用法实例解析