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

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

相关文章

Python实现字典的key和values的交换

有些时候我们不得已要利用values来反向查询key,有没有简单的方法呢? 下面我给大家列举一些方法,方便大家使用 python3 >>> d1={'a':1,'...

用python实现的可以拷贝或剪切一个文件列表中的所有文件

复制代码 代码如下:# coding:utf-8 import os import sys def cut_and_paste_file(source, destination): &n...

一百行python代码将图片转成字符画

一百行python代码将图片转成字符画

本文实例为大家分享了python将图片转成字符画的具体代码,供大家参考,具体内容如下 该代码引用了PIL库的Image,所以必须先安装PIP,再安装PIL,记住,我的64位系统居...

Python基于动态规划算法计算单词距离

本文实例讲述了Python基于动态规划算法计算单词距离。分享给大家供大家参考。具体如下: #!/usr/bin/env python #coding=utf-8 def word_d...

python DataFrame转dict字典过程详解

python DataFrame转dict字典过程详解

这篇文章主要介绍了python DataFrame转dict字典过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景:将商品i...