在Python3 numpy中mean和average的区别详解

yipeiwu_com5年前Python基础

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设计】。

相关文章

python3.7环境下安装Anaconda的教程图解

python3.7环境下安装Anaconda的教程图解

下载Anaconda安装包 官网下载或是在清华大学镜像站下载,我安装的是下面这个版本:   安装过程 配置环境 将anaconda的scripts文件夹路径添...

Sanic框架路由用法实例分析

本文实例讲述了Sanic框架路由用法。分享给大家供大家参考,具体如下: 前面一篇《Sanic框架安装与简单入门》简单介绍了Sanic框架的安装与基本用法,这里进一步学习Sanic框架的路...

Python使用内置json模块解析json格式数据的方法

Python使用内置json模块解析json格式数据的方法

本文实例讲述了Python使用内置json模块解析json格式数据的方法。分享给大家供大家参考,具体如下: Python中解析json字符串非常简单,直接用内置的json模块就可以,不需...

Python找出文件中使用率最高的汉字实例详解

本文实例讲述了Python找出文件中使用率最高的汉字的方法。分享给大家供大家参考。具体分析如下: 这是我初学Python时写的,为了简便,我并没在排序完后再去掉非中文字符,稍微会影响性能...

简单介绍Python下自己编写web框架的一些要点

在正式开始Web开发前,我们需要编写一个Web框架。 为什么不选择一个现成的Web框架而是自己从头开发呢?我们来考察一下现有的流行的Web框架: Django:一站式开发框架,但不...