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中的多重装饰器
Apr 11 Python
TensorFlow saver指定变量的存取
Mar 10 Python
Python将多个list合并为1个list的方法
Jun 27 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
pandas删除指定行详解
Apr 04 Python
python库matplotlib绘制坐标图
Oct 18 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
python如何爬取网页中的文字
Jul 28 Python
Python中return函数返回值实例用法
Nov 19 Python
python中xlrd模块的使用详解
Feb 01 Python
python中numpy.empty()函数实例讲解
Feb 05 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
简介Django框架中可使用的各类缓存
2015/07/23 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
在python中用url_for构造URL的方法
2019/07/25 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
中层干部岗位职责
2013/12/18 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
PHP 时间处理类Carbon
2022/05/20 PHP