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分析git log日志示例
Feb 27 Python
python单线程实现多个定时器示例
Mar 30 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
python的paramiko模块实现远程控制和传输示例
Oct 13 Python
详解python中的线程
Feb 10 Python
高效使用Python字典的清单
Apr 04 Python
python 移动图片到另外一个文件夹的实例
Jan 10 Python
django使用xadmin的全局配置详解
Nov 15 Python
利用Pytorch实现简单的线性回归算法
Jan 15 Python
基于Python生成个性二维码过程详解
Mar 05 Python
python实现拼接图片
Mar 23 Python
Python读写csv文件流程及异常解决
Oct 20 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模拟js函数unescape的函数代码
2012/10/20 PHP
深入解析php之sphinx
2013/05/15 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
python采用getopt解析命令行输入参数实例
2014/09/30 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
判断单链表中是否存在环
2012/07/16 面试题
资源环境与城市管理专业推荐信
2013/11/30 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
2014年施工员工作总结
2014/11/18 职场文书
死亡赔偿协议书
2015/01/28 职场文书
班主任工作总结范文
2015/08/13 职场文书