python 的numpy库中的mean()函数用法介绍


Posted in Python onMarch 03, 2020

1. mean() 函数定义:

numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue at 0x40b6a26c>)[source]
Compute the arithmetic mean along the specified axis.

Returns the average of the array elements. The average is taken over the flattened array by default, otherwise over the specified axis. float64intermediate and return values are used for integer inputs.

Parameters: a : array_like Array containing numbers whose mean is desired. If a is not an array, a conversion is attempted. axis : None or int or tuple of ints, optional Axis or axes along which the means are computed. The default is to compute the mean of the flattened array. New in version 1.7.0. If this is a tuple of ints, a mean is performed over multiple axes, instead of a single axis or all the axes as before. dtype : data-type, optional Type to use in computing the mean. For integer inputs, the default is float64; for floating point inputs, it is the same as the input dtype. out : ndarray, optional Alternate output array in which to place the result. The default is None; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See doc.ufuncs for details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array. If the default value is passed, then keepdims will not be passed through to the mean method of sub-classes of ndarray, however any non-default value will be. If the sub-classes sum method does not implement keepdims any exceptions will be raised.
Returns: m : ndarray, see dtype parameter above If out=None, returns a new array containing the mean values, otherwise a reference to the output array is returned.

2 mean()函数功能:求取均值

经常操作的参数为axis,以m * n矩阵举例:

axis 不设置值,对 m*n 个数求均值,返回一个实数

axis = 0:压缩行,对各列求均值,返回 1* n 矩阵

axis =1 :压缩列,对各行求均值,返回 m *1 矩阵

举例:

>>> import numpy as np

>>> num1 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
>>> now2 = np.mat(num1)
>>> now2
matrix([[1, 2, 3],
  [2, 3, 4],
  [3, 4, 5],
  [4, 5, 6]])


>>> np.mean(now2) # 对所有元素求均值
3.5


>>> np.mean(now2,0) # 压缩行,对各列求均值
matrix([[ 2.5, 3.5, 4.5]])


>>> np.mean(now2,1) # 压缩列,对各行求均值
matrix([[ 2.],
  [ 3.],
  [ 4.],
  [ 5.]])

补充拓展:numpy的np.nanmax和np.max区别(坑)

numpy的np.nanmax和np.array([1,2,3,np.nan]).max()的区别(坑)

numpy中numpy.nanmax的官方文档

原理

在计算dataframe最大值时,最先用到的一定是Series对象的max()方法(),最终结果是4。

s1 = pd.Series([1,2,3,4,np.nan])
s1_max = s1.max()

但是笔者由于数据量巨大,列数较多,于是为了加快计算速度,采用numpy进行最大值的计算,但正如以下代码,最终结果得到的是nan,而非4。发现,采用这种方式计算最大值,nan也会包含进去,并最终结果为nan。

s1 = pd.Series([1,2,3,4,np.nan])
s1_max = s1.values.max()
>>>nan

通过阅读numpy的文档发现,存在np.nanmax的函数,可以将np.nan排除进行最大值的计算,并得到想要的正确结果。

当然不止是max,min 、std、mean 均会存在列中含有np.nan时,s1.values.min /std/mean ()返回nan的情况。

速度区别

速度由快到慢依次:

s1 = pd.Series([1,2,3,4,5,np.nan])
#速度由快至慢
np.nanmax(s1.values) > np.nanmax(s1) > s1.max()

以上这篇python 的numpy库中的mean()函数用法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中urllib2模块的8个使用细节分享
Jan 01 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
Python操作MySQL模拟银行转账
Mar 12 Python
Python反转序列的方法实例分析
Mar 21 Python
Python采集代理ip并判断是否可用和定时更新的方法
May 07 Python
使用python画个小猪佩奇的示例代码
Jun 06 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python学习笔记之错误和异常及访问错误消息详解
Aug 08 Python
Python:slice与indices的用法
Nov 25 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
如何解决安装python3.6.1失败
Jul 01 Python
python urllib库的使用详解
Apr 13 Python
Python统计学一数据的概括性度量详解
Mar 03 #Python
python多维数组分位数的求取方式
Mar 03 #Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 #Python
python Plotly绘图工具的简单使用
Mar 03 #Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 #Python
python实现扫雷游戏
Mar 03 #Python
python实现从ftp服务器下载文件
Mar 03 #Python
You might like
URL Rewrite的设置方法
2007/01/02 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
python计算对角线有理函数插值的方法
2015/05/07 Python
python与C互相调用的方法详解
2017/07/14 Python
python 自定义对象的打印方法
2019/01/12 Python
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
如何查找网页漏洞
2016/06/22 面试题
司机岗位职责
2013/11/15 职场文书
教师师德承诺书
2014/03/26 职场文书
门前三包责任书
2014/04/15 职场文书
空气的环保标语
2014/06/12 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
授权收款委托书
2014/09/23 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
2015年调度员工作总结
2015/04/30 职场文书
校园广播站开场白
2015/06/01 职场文书
运动会加油稿50字
2015/07/21 职场文书