使用numpy.mean() 计算矩阵均值方式

目录
  • numpy.mean计算矩阵均值
  • 均值函数numpy.mean
    • mean是numpy中常用的求均值函数

numpy.mean计算矩阵均值

计算矩阵的均值

>>> a = np.array([[1, 2], [3, 4]])
>>> np.mean(a) # 将上面二维矩阵的每个元素相加除以元素个数(求平均数)
2.5
>>> np.mean(a, axis=0) # axis=0,计算每一列的均值
array([ 2.,  3.])
>>> np.mean(a, axis=1) # 计算每一行的均值
array([ 1.5,  3.5])

官方手册

均值函数numpy.mean

mean是numpy中常用的求均值函数

现将mean的常用方法总结如下:

函数体:

numpy.mean(a, axis=None, dtype=None, out=None, keepdims= < class ‘numpy._globals._NoValue'>)[source]

功能:

  • 计算指定轴的算术平均值。
  • 返回数组元素的平均值。默认的情况下,求均值的操作在平展开来的数组上进行,否则就在指定的轴上。

参数:

①a:必须是数组。

②axis:默认条件下是flatten的array,可以指定相应的轴。

如果是二维矩阵,axis=0返回纵轴的平均值,axis=1返回横轴的平均值。

例子如下:

>>> a = np.array([[1, 2], [3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0)
array([ 2.,  3.])
>>> np.mean(a, axis=1)
array([ 1.5,  3.5])
  • 你也可以用a.mean(1)来代替np.mean(a,axis=1)
  • 这样子更简洁

返回值:

在out=None的情况下,返回的就是你要的平均值呗~

否则,返回一个对平均值的引用。

注意(关于精度):

算术平均值是沿轴的元素总和除以元素的数量。既然是除法,就涉及到一个精确度的问题。

对于浮点输入,平均值的计算使用与输入相同的精度计算,这可能会导致结果不准确,特别是对于float32来说。为了缓解这个问题,我们可以使用dtype关键字指定更高精度的累加器。

具体看下面这个例程:

>>> a = np.zeros((2, 512*512), dtype=np.float32)
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.mean(a)
0.54999924
>>> np.mean(a, dtype=np.float64)
0.55000000074505806

如果想要返回标准差,可以调用标准差函数

std = sqrt(平均值(abs(x-x.mean())** 2))

>>> a = np.array([[1, 2], [3, 4]])
>>> np.std(a)
1.1180339887498949
>>> np.std(a, axis=0)
array([ 1.,  1.])
>>> np.std(a, axis=1)
array([ 0.5,  0.5])

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 如何对numpy 矩阵进行通道间求均值

    目录 对numpy 矩阵进行通道间求均值 numpy求平均值的两种方法不一样 对numpy 矩阵进行通道间求均值 给定一个3x2x2得矩阵,得到一个2x2的矩阵,其中对应元素是通道间的均值 import numpy as np a = np.array([ [[1, 2], [3, 4]], [[5,6], [7,8]], [[1, 2], [3, 4]] ]) print(a.shape) # (3, 2, 2) print(np.mean(a, axis=0)) """

  • Python Numpy实现计算矩阵的均值和标准差详解

    目录 一.前言 二.详解计算均值和标准差 三.实践:CRITIC权重法计算变异系数 一.前言 CRITIC权重法是一种比熵权法和标准离差法更好的客观赋权法: 它是基于评价指标的对比强度和指标之间的冲突性来综合衡量指标的客观权重.考虑指标变异性大小的同时兼顾指标之间的相关性,并非数字越大就说明越重要,完全利用数据自身的客观属性进行科学评价. 对比强度是指同一个指标各个评价方案之间取值差距的大小,以标准差的形式来表现.标准差越大,说明波动越大,即各方案之间的取值差距越大,权重会越高: 指标之间的冲突

  • numpy 对矩阵中Nan的处理:采用平均值的方法

    尽管我们可以将所有的NaN替换成0,但是由于并不知道这些值的意义,所以这样做是个下策.如果它们是开氏温度,那么将它们置成0这种处理策略就太差劲了. 下面我们用平均值来代替缺失值,平均值根据那些非NaN得到. from numpy import * datMat = mat([[1,2,3],[4,Nan,6]]) numFeat = shape(datMat)[1] for i in range(numFeat): meanVal = mean(datMat[nonzero(~isnan(dat

  • 使用numpy.mean() 计算矩阵均值方式

    目录 numpy.mean计算矩阵均值 均值函数numpy.mean mean是numpy中常用的求均值函数 numpy.mean计算矩阵均值 计算矩阵的均值 >>> a = np.array([[1, 2], [3, 4]]) >>> np.mean(a) # 将上面二维矩阵的每个元素相加除以元素个数(求平均数) 2.5 >>> np.mean(a, axis=0) # axis=0,计算每一列的均值 array([ 2.,  3.]) >&g

  • numpy.linalg.eig() 计算矩阵特征向量方式

    在PCA中有遇到,在这里记录一下 计算矩阵的特征值个特征向量,下面给出几个示例代码: 在使用前需要单独import一下 >>> from numpy import linalg as LA >>> w, v = LA.eig(np.diag((1, 2, 3))) >>> w; v array([ 1., 2., 3.]) array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]) >>>

  • numpy.std() 计算矩阵标准差的方法

    计算矩阵标准差 >>> a = np.array([[1, 2], [3, 4]]) >>> np.std(a) # 计算全局标准差 1.1180339887498949 >>> np.std(a, axis=0) # axis=0计算每一列的标准差 array([ 1., 1.]) >>> np.std(a, axis=1) # 计算每一行的标准差 array([ 0.5, 0.5]) 官方手册:http://docs.scipy.

  • Python的numpy库中将矩阵转换为列表等函数的方法

    这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找. (1)将矩阵转换为列表的函数:numpy.matrix.tolist() 返回list列表 Examples >>> >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.tolist() [[0, 1, 2

  • Python实现计算图像RGB均值方式

    要求 存在一个文件夹内有若干张图像,需要计算每张图片的RGB均值,并计算全部图像的RGB均值. 代码 # -*- coding: utf-8 -*- """ Created on Thu Nov 1 10:43:29 2018 @author: Administrator """ import os import cv2 import numpy as np path = 'C:/Users/Administrator/Desktop/rgb'

  • pytorch tensor计算三通道均值方式

    目录 tensor计算三通道均值 第一种思路 Pytorch tensor的运算 tensor操作 tensor计算三通道均值 今天用pytorch处理图像时,涉及到了计算均值的问题,整理一下解决思路. 第一种思路 tensor转换为numpy再进行处理 import torch import cv2 img = cv2.imread("image path") tensor_img = torch.from_numpy((img[:, :, ::-1] / 255.0)[None,

  • Python计算矩阵的和积的实例详解

    python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包. 一.numpy的导入和使用 from numpy import *;#导入numpy的库函数 import numpy as np; #这个方式使用numpy的函数时,需要以np.开头. 二.矩阵的创建 由一维或二维数据创建矩阵 from numpy import *; a1=array([1,2,3]); a1=mat(a1); 创建常见的矩阵 data1=mat(zeros((3,3)));

  • Python中shape计算矩阵的方法示例

    本文实例讲述了Python中shape计算矩阵的方法.分享给大家供大家参考,具体如下: 看到机器学习算法时,注意到了shape计算矩阵的方法接下来就讲讲我的理解吧 >>> from numpy import * >>> import operator >>> a =mat([[1,2,3],[5,6,9]]) >>> a matrix([[1, 2, 3], [5, 6, 9]]) >>> shape(a) (2,

  • 对numpy 数组和矩阵的乘法的进一步理解

    1.当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加 2.当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积 3. 混合时候的情况,一般不要混合 混合的时候默认按照矩阵乘法的, multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积 总结:数组乘法默认的是点乘,矩阵默认的是矩阵乘法,混

随机推荐