资讯专栏INFORMATION COLUMN

Numpy中的通用函数和聚合

xorpay / 3055人阅读

摘要:概述在中存在着通用函数和聚合去对数据进行处理通过向量进行对数据数组的计算而这些向量主要依靠一些通用函数而聚合是对面对大量数据时获取描述性统计信息的方法。三角函数提供了大量好用的通用函数,其中对于数据科学家最有用的就是三角函数。

概述

在Numpy中存在着通用函数和聚合去对数据进行处理,numpy通过向量进行对数据数组的计算,而这些向量主要依靠一些通用函数,而聚合是numpy对面对大量数据时获取描述性统计信息的方法。

numpy的通用函数

1、为什么用numpy的通用函数而不用Python的循环做逐个元素的计算

NumPy 提供了一个简单灵活的接口来优化数据数组的计算,使得numpy成为python数据科学中极其重要的一部分。Numpy主要是通过向量进行操作的,而这些操作主要依靠他的一些通用函数实现,接下来,我们就去学习这些通用函数,以方便我们提高元素重复计算的效率。

学习numpy通用函数,我们首先举个例子:

假设我们想要计算一个数组元素的倒数:

方法1:用循环迭代执行

方法2:用Numpy的通用函数进行计算

1.1用Python的循环语句实现

1.2 用numpy的通用函数实现

1.3对比一下两者运行的时间

这时候就会发现循环的时间复杂度很高,直接用数组通用函数进行计算,速度是python代码循环进行计算的10倍左右。

2、常用通用函数

2.1数组的运算

NumPy 通用函数的使用方式非常自然,因为它用到了 Python 原生的算术运算符,标准的 加、减、乘、除都可以使用:

加法,直接用+号或者使用np.add()

除法,使用/号或者np.divide()

平方,使用**或者np.power()

乘法,使用*号或者np.multiply()

剩余的通用函数操作:

运算符

对应的通用函数

描述

+

Np.add

加法运算(即 1 + 1 = 2)

-

Np.subtract

减法运算(即 3 - 2 = 1)

-

Np.negative

负数运算(即 -2)

*

Np.multiply

乘法运算(即 2 * 3 = 6)

/

Np.divide

除法运算(即 3 / 2 = 1.5)

//

Np.floor_divide

地板除法运算(floor division,即3//2 = 1)

**

Np.power

指数运算(即 2 ** 3 = 8)

%

Np.mod

模 / 余数(即 9 % 4 = 1)

2.2绝对值

正如NumPy 能理解 Python 内置的运算操作, NumPy 也可以理解 Python 内置的绝对值 函数:

Numpy的计算速度还是快一些的。

2.3三角函数

NumPy 提供了大量好用的通用函数,其中对于数据科学家最有用的就是三角函数。首先定义一个角度数组:

然后进行三角函数运算

当然反三角函数也是支持的

2.4指数和对数

Numpy中也提供了对指数和对数进行运算的方法

指数运算

以e为底的对数运算

以2为底的对数运算

以10为底的对数运算

通用函数特性

1.指定输出

在进行大量运算时,有时候指定一个用于存放运算结果的数组是非常有用的。不同于创建 临时数组,你可以用这个特性将计算结果直接写入到你期望的存储位置。所有的通用函数 都可以通过out参数来指定计算结果的存放位置:

这个特性也可以被用作数组视图,例如可以将计算结果写入指定数组的每隔一个元素的位置:

2.聚合

对通用函数调用reduce方法会返回数组中所有元素的和:

对内积调用reduce也同样会返回数组的内积

对通用函数调用accumulate,会返回每次计算的结果

3.外积

任何通用函数都可以用 outer 方法获得两个不同输入数组所有元素对的函数运算结果。这意味着你可以用一行代码实现一个乘法表:

三、聚合:最大值、最小值和其他值

当我们面对大量的数据时,首先想到的就是去获取他们的一些描述性统计信息,比如中值、中位数、均值、最大值、最小值、和、乘积等。Numpy内置的一些方法,在求取这些信息时,会非常的便利和高效。下面我们就去介绍一些比较常用的:

1.数组值求和

由于Numpy的sum函数是在编译的过程中进行计算的,因此速度会比python的sum更快一些。

2、最大值和最小值

同样,Python也有内置的min函数和max函数,分别被用于获取给定数组的最小值和最大值:

对于 min、 max、 sum 和其他 NumPy 聚合,一种更简洁的语法形式是数组对象直接调用这些方法:

3、多维度聚合

一种常用的聚合操作是沿着一行或者一列聚合。例如,有着一个二维数组,我们想要统计他的一些聚合信息:

默认情况下,每一个Numpy聚合函数都会返回对整个数组的聚合结果:

聚合函数还有一个参数,用于指定沿着哪个轴的方向进行聚合。例如,可以通过指定 axis=0 找到每一列的最小值:

找到行的最大值类似的操作,让axis = 1 就可以实现

axis 关键字指定的是数组将会被折叠的维度,而不是将要返回的维度。因此指定 axis=0 意味着第一个轴将要被折叠——对于二维数组,这意味着每一列的值都将被聚合。

4、其他聚合函数

Python中其他可用的聚合函数:

函数名称

NaN安全版本

描述

np.sum

np.nansum

计算元素的和

np.prod

np.nanprod

计算元素的积

np.mean

np.nanmean

计算元素的平均值

np.std

np.nanstd

计算元素的标准差

np.var

np.nanvar

计算元素的方差

np.min

np.nanmin

找出最小值

np.max

np.nanmax

找出最大值

np.argmin

np.nanargmin

找出最小值的索引

np.argmax

np.nanargmax

找出最大值的索引

np.median

np.nanmedian

计算元素的中位数

np.percentile

np.nanpercentile

计算基于元素排序的统计值

np.any

N/A

验证任何一个元素是否为真

np.all

N/A

验证所有元素是否为真

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43606.html

相关文章

  • 【数据科学系统学习】Python # 数据分析基本操作[四] 数据规整化数据聚合与分组运算

    摘要:数据规整化清理转换合并重塑数据聚合与分组运算数据规整化清理转换合并重塑合并数据集可根据一个或多个键将不同中的行链接起来。函数根据样本分位数对数据进行面元划分。字典或,给出待分组轴上的值与分组名之间的对应关系。 本篇内容为整理《利用Python进行数据分析》,博主使用代码为 Python3,部分内容和书本有出入。 在前几篇中我们介绍了 NumPy、pandas、matplotlib 三个...

    The question 评论0 收藏0
  • Python数据分析学习笔记之Pandas入门

    摘要:是一个数据分析的开源库。与表格或关系数据库中的表非常神似。注意带有一个索引,类似于关系数据库中的主键。的统计函数分组与聚合通过方法,可以对数据组施加一系列的函数。函数的作用是串联,追加数据行使用函数。 pandas(Python data analysis)是一个Python数据分析的开源库。pandas两种数据结构:DataFrame和Series 安装:pandas依赖于NumPy...

    zqhxuyuan 评论0 收藏0
  • 一文带你斩杀Python之Numpy☀️Pandas全部操作【全网最详细】❗❗❗

    目录Numpy简介Numpy操作集合1、不同维度数据的表示1.1 一维数据的表示1.2 二维数据的表示1.3 三维数据的表示2、 为什么要使用Numpy2.1、Numpy的ndarray具有广播功能2.2 Numpy数组的性能比Python原生数据类型高3 ndarray的属性和基本操作3.1 ndarray的基本属性3.2 ndarray元素类型3.3 创建ndarray的方式3.4 ndarr...

    asoren 评论0 收藏0
  • Python Pandas聚合函数的应用示例

      Python Pandas作为常见的应用Python的一门工具,常常是作为聚合函数去进行使用的,那么,我们应该怎么去使用这类聚合函数呢?下面就具体的一类应用实例,下面给大家详细解答一下,大家要仔细的阅读哦。  Python Pandas聚合函数  在前一节,我们重点介绍了窗口函数。我们知道,窗口函数可以与聚合函数一起使用,聚合函数指的是对一组数据求总和、最大值、最小值以及平均值的操作,本节重点...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<