Python3——numpy中mean和average的区别

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
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值