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 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
python目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
python的类变量和成员变量用法实例教程
Aug 25 Python
Python实现的归并排序算法示例
Nov 21 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
对Python中list的倒序索引和切片实例讲解
Nov 15 Python
Python正则表达式和元字符详解
Nov 29 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 Python
python里的单引号和双引号的有什么作用
Jun 17 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
基于 Python 实践感知器分类算法
Jan 07 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
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
PHP面向对象概念
2011/11/06 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
php备份数据库类分享
2015/04/14 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
Python3处理文件中每个词的方法
2015/05/22 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
兽医医药专业求职信
2014/07/27 职场文书
授权委托书怎么写
2014/09/25 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
旷工检讨书1000字
2015/01/01 职场文书
高考升学宴答谢词
2015/01/20 职场文书
归元寺导游词
2015/02/06 职场文书