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

作者:饕餮争锋 时间:2021-12-19 16:22:37 

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()

来源:https://blog.csdn.net/taotiezhengfeng/article/details/72397282

标签:python,numpy,mean
0
投稿

猜你喜欢

  • JavaScript原型链详解

    2024-04-19 09:44:42
  • Python使用函数默认值实现函数静态变量的方法

    2023-03-11 16:54:46
  • 双向RNN:bidirectional_dynamic_rnn()函数的使用详解

    2022-07-26 17:42:07
  • Django前后端分离csrf token获取方式

    2021-03-15 04:23:43
  • Navicat连接mysql报错2003(10060)的解决方法

    2024-01-25 06:08:14
  • django中SMTP发送邮件配置详解

    2022-12-29 15:08:43
  • python将pandas datarame保存为txt文件的实例

    2021-11-17 06:21:51
  • PHP中MVC模式的模板引擎开发经验分享

    2023-11-18 14:28:08
  • JavaScript中实现块作用域的方法

    2024-04-16 10:38:39
  • Django Rest framework认证组件详细用法

    2023-02-20 09:47:08
  • 在 Python 中进行 One-Hot 编码

    2023-04-06 06:02:55
  • Centos6.5和Centos7 php环境搭建方法

    2023-11-14 19:25:38
  • python求最大连续子数组的和

    2022-05-12 07:23:24
  • Mysql设置主键自动增长起始值的方案总结

    2024-01-16 18:49:23
  • sql字段解析器的实现示例

    2024-01-16 13:36:53
  • 用Python做的数学四则运算_算术口算练习程序(后添加减乘除)

    2023-04-10 13:27:35
  • js从Cookies里面取值的简单实现

    2024-06-21 22:22:03
  • Python self用法详解

    2021-08-24 04:26:41
  • Python爬虫之获取心知天气API实时天气数据并弹窗提醒

    2023-04-17 14:40:58
  • Python2.7环境Flask框架安装简明教程【已测试】

    2023-12-17 11:59:42
  • asp之家 网络编程 m.aspxhome.com