在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中字符编码简介、方法及使用建议

1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世...

单链表反转python实现代码示例

单链表反转python实现代码示例

单链表的反转可以使用循环,也可以使用递归的方式 1.循环反转单链表 循环的方法中,使用pre指向前一个结点,cur指向当前结点,每次把cur->next指向pre即可。 代码:...

解决python测试opencv时imread导致的错误问题

解决python测试opencv时imread导致的错误问题

如下所示: import cv2 import numpy as np img = cv2.imread("1.jpg")//图片和代码在同个目录,改为相对路径,解决由imrea...

对python函数签名的方法详解

函数签名对象,表示调用函数的方式,即定义了函数的输入和输出。 在Python中,可以使用标准库inspect的一些方法或类,来操作或创建函数签名。 获取函数签名及参数 使用标准库的sig...

Python scikit-learn 做线性回归的示例代码

Python scikit-learn 做线性回归的示例代码

一、概述 机器学习算法在近几年大数据点燃的热火熏陶下已经变得被人所“熟知”,就算不懂得其中各算法理论,叫你喊上一两个著名算法的名字,你也能昂首挺胸脱口而出。当然了,算法之林虽大,但能者...