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+django实现文件下载
Jan 17 Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
python文本数据相似度的度量
Mar 12 Python
Python登录注册验证功能实现
Jun 18 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 Python
Python tornado上传文件的功能
Mar 26 Python
Python爬虫之爬取某文库文档数据
Apr 21 Python
Python实现列表拼接和去重的三种方式
Jul 02 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
PHP 各种排序算法实现代码
2009/08/20 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
JS delegate与live浅析
2013/12/21 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
Js获取当前日期时间及格式化代码
2016/09/17 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
vue跨域解决方法
2017/10/15 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
python中的lambda表达式用法详解
2016/06/22 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
入党宣誓仪式主持词
2015/06/29 职场文书
2019各种承诺书范文
2019/06/24 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
不要在HTML中滥用div
2021/05/08 HTML / CSS
Redis 哨兵集群的实现
2021/06/18 Redis
简述Java中throw-throws异常抛出
2021/08/07 Java/Android
python 进阶学习之python装饰器小结
2021/09/04 Python