在Python3 numpy中mean和average的区别详解
mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的。指定权重后,average可以计算一维的加权平均值。
具体如下:
importnumpyasnp 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))
运行结果:
原始数据 [[10127145] [12102167]] *******mean函数******* 对所有数据计算 9.5 axis=0,按行方向计算,即每列 [11.11.4.515.6.] axis=1,按列方向计算,即每行 [9.69.4] *****average函数****** 对所有数据计算 9.5 axis=0,按行方向计算,即每列 [11.11.4.515.6.] axis=1,按列方向计算,即每行 [9.69.4] 不指定权重 2.5 指定权重 2.0
以上这篇在Python3numpy中mean和average的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。