以下代码的前提:import numpy as np

通用函数(即ufunc)是一种对narray中的数组执行元素级运算的函数。可以看作简单函数(接受一个或多个标量值,并产生一个或多个标量值)的矢量化包装器。

官方说明文档:Universal functions (ufunc) — NumPy v1.21 Manual

1.1 一元ufunc(接受1个数组)

输入参数为一个数组,输出一个数组。举例进行说明:

numpy.sqrt方法,对数组的每个元素的进行开方;numpy.sqrt — NumPy v1.21 Manual

numpy.exp方法,对数组的每个元素进行以e为底的指数运算。numpy.exp — NumPy v1.21 Manual

numpy.exp2方法,对数组的每个元素进行以2为底的指数运算。

numpy.square方法,对数组的每个元素进行平方运算。

还有许多其它的运算,可参考官方文档:Universal functions (ufunc) — NumPy v1.21 Manual

1 >>> arr = np.arange(10)
2 >>> np.sqrt(arr)
3 array([0. , 1. , 1.41421356, 1.73205081, 2. ,
4 2.23606798, 2.44948974, 2.64575131, 2.82842712, 3. ])
5 >>>
6 >>> np.exp(arr)
7 array([1.00000000e+00, 2.71828183e+00, 7.38905610e+00, 2.00855369e+01,
8 5.45981500e+01, 1.48413159e+02, 4.03428793e+02, 1.09663316e+03,
9 2.98095799e+03, 8.10308393e+03]) >>> x = [1, 2, 3]
>>> x = array([1, 2, 3])
>>> x
array([1, 2, 3])
>>> y = np.exp2(x)
>>> y
array([2., 4., 8.])
>>> z = np.square(x)
>>> z
array([1, 4, 9], dtype=int32)

1.2 二元ufunc(接受2个数组)

接受两个数组作为输入变量,返回一个数组。举例进行说明:

numpy.maximum方法,数组元素逐个进行比较,返回最大值;

numpy.minimum方法,数组元素逐个进行比较,返回最小值;

numpy.add方法,数组元素逐个相加;

numpy.subtract方法,数组元素逐个相减。

其它运算参考官网:Universal functions (ufunc) — NumPy v1.21 Manual

 1 >>> x = np.random.randn(8)
2 >>> y = np.random.randn(8)
3 >>> x
4 array([ 0.43266866, 1.69407984, -0.55230851, 0.5299432 , 0.16398048,
5 -0.85688016, 0.17670668, 0.27088301])
6 >>> y
7 array([-7.44071773e-01, -1.96733697e-01, 2.63125844e-01, 1.02443527e-03,
8 1.43143711e+00, 4.07087722e-02, 3.69629757e-01, 8.49162829e-01])
9 >>> np.maximum(x, y)
10 array([0.43266866, 1.69407984, 0.26312584, 0.5299432 , 1.43143711,
11 0.04070877, 0.36962976, 0.84916283]) array([1, 2, 3])
>>> y = array([2, 3, 4])
>>> np.add(x, y)
array([3, 5, 7])
>>> np.subtract(x, y)
array([-1, -1, -1])

1.3 ufunc返回多个数组

如numpy.modf方法,将数组的小数部分和整数部分以两个独立数组的形式返回。

1 >>> arr = np.random.randn(7) * 5
2 >>> arr
3 array([-5.13857878, -0.91271076, 3.55618943, -3.40179856, -7.32568638,
4 -1.74803645, 3.1201454 ])
5 >>> np.modf(arr)
6 (array([-0.13857878, -0.91271076, 0.55618943, -0.40179856, -0.32568638,
7 -0.74803645, 0.1201454 ]), array([-5., -0., 3., -3., -7., -1., 3.]))
8 >>>

1.4 常用一元ufunc和二元ufunc函数

一元ufunc
函数 说明
abs、fabs 计算整数、浮点数或复数的绝对值。对于非复数值,可以使用更快的fabs
sqrt 计算各元素的平方根,相当于arr ** 0.5
square 计算各元素的平方,相当于arr ** 2
exp 计算各元素的指数ex
log、log10、log2、log1p 分别为自然对数(底数为e)、底数为10的log、底数为2的log、log(1+x)
sign 计算各元素的正负号:1(正数)、0(零)、-1(负数)
ceil 计算各元素的ceiling值,即大于等于该值的最小整数
floor 计算各元素的floor值,即小于等于该值的最大整数
rint 将各元素值四舍五入到最接近的整数,保留dtype
modf 将数组的小数部分和整数部分以两个独立数组的形式返回
isnan 返回一个表示“哪些值是NaN(这不是一个数字)”的布尔型数组
isfinite、isinf 分别返回一个表示“哪些元素是有穷的(非inf,非NaN)”或“哪些元素是无穷的”的布尔型数组
cos、cosh、sin、sinh、tan、tanh 普通型和双曲型三角函数
arccos、arccosh、arcsin、arcsinh、arctan、arctanch 反三角函数
logical_not 计算各元素not x的真值,相当于~arr
二元ufunc
add 将数组中对应元素相加
subtract 从第一个数组中减去第二个数组中的元素
multiply 数组元素相乘
divide、floor_divide 除法或向下圆整除法(丢弃余数)
power 对第一个数组中的元素A,根据第二个数组中的相应元素B,计算AB
maximum、fmax 元素级的最大值计算,fmax将忽略NaN
minimum、fmin 元素级的最小值计算,fmin将忽略NaN
mod 元素级的求模运算(除法的余数)
copysign 将第二个数组中的值的符号复制给第一个数组中的值
greater、greater_equal、less、less_equal、equal、not_equal 执行元素级的比较运算,最终产生布尔型数组。相当于中缀运算符>、>=、<、<=、==、!=
logic_and、logic_or、logic_xor 执行元素级的真值逻辑运算,相当于中缀运算符&、|、^

numpy基础--通用函数:快速的元素级数组函数的更多相关文章

  1. numpy中的快速的元素级数组函数

    numpy中的快速的元素级数组函数 一元(unary)ufunc 对于数组中的每一个元素,都将元素代入函数,将得到的结果放回到原来的位置 >>> import numpy as np ...

  2. 【学习】通用函数:快速的元素级数组函数【Numpy】

    通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数.可以将其看做简单函数(接受一个或多个标量值,并产生一个或多个标量值)的矢量化包装器. sqrt 和 exp为一元(unary ...

  3. numpy的通用函数:快速的元素级数组函数

    通用函数(ufunc)是对ndarray中的数据执行元素级运算的函数.可看作简单函数的矢量化包装. 一元ufunc sqrt对数组中的所有元素开平方 exp对数组中的所有元素求指数 In [93]: ...

  4. Numpy 的通用函数:快速的元素级数组函数

    通用函数: 通用函数(ufunc)是一种对ndarray中的数据执行元素级运算的函数.你可以将其看作简单函数(接受一个或多个标量值,并产生一个或度过标量值)的矢量化包装器. 简单的元素级变体,如sqr ...

  5. numpy元素级数组函数

    一元函数 abs, fabs 计算整数.浮点数或复数的绝对值.对于非复数值,可以使用更快的fabs. sqrt 计算各元素的平方根.相当于arr ** 0.5 sqare 计算各元素的平方.相当于ar ...

  6. 数据分析之Numpy基础:数组和适量计算

    Numpy(Numerical Python)是高性能科学计算和数据分析的基础包. 1.Numpy的ndarray:一种多维数组对象 对于每个数组而言,都有shape和dtype这两个属性来获取数组的 ...

  7. python数据分析---第04章 NumPy基础:数组和矢量计算

    NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...

  8. 《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算

    <利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对 ...

  9. python数据分析 Numpy基础 数组和矢量计算

    NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...

  10. 【学习笔记】 第04章 NumPy基础:数组和矢量计算

    前言 正式开始学习Numpy,参考用书是<用Python进行数据清洗>,计划本周五之前把本书读完,关键代码全部实现一遍 NumPy基础:数组和矢量计算 按照书中所示,要搞明白具体的性能差距 ...

随机推荐

  1. javascript现代编程系列教程之六——数字型数据类型转换

    一.整数转换 在 JavaScript 中,parseInt() 函数会将其参数转换为字符串,然后解析该字符串,并返回一个整数或 NaN.如果 parseInt() 函数的参数是一个非常大的浮点数(如 ...

  2. 【GDKOI 2024 TG Day2】不休陀螺(top) 题解

    考虑一个卡牌区间怎样才不是"陀螺无限". 一个是费用在打到一半时费用就不够了.考虑构造一个卡牌序列使其尽量能够在打到一半时费用就不够,如何构造呢? 把 \(a_i > b_i ...

  3. 安装Visual Studio 2010 教程

    1.下载软件 方法一:关注[ 火耳软件安装 ]公众号获取软件,里面还有很多类型的其他软件 或者: 方法二:我的分享链接:https://pan.baidu.com/s/1_Ow2YR-kbnbSc6o ...

  4. 二叉查找树的实现C/C++

    二叉查找树是一种关键字有序存放的二叉树.在不含重复关键字的二叉查找树中,关键字"较小"的节点一定在关键字"较大"的节点的左子树中,"较小"一 ...

  5. Kruise Rollout:灵活可插拔的渐进式发布框架

    简介: Kruise Rollout 是 OpenKruise 社区开源的渐进式交付框架.Kruise Rollout 支持配合流量和实例灰度的金丝雀发布.蓝绿发布.A/B Testing 发布,以及 ...

  6. Serverless 应用引擎 SAE 携手谱尼测试共同抗疫

    ​简介:潮落江平未有风,扁舟共济与君同. 阿里云联合乘云至达与谱尼测试携手, 共同筑建抗疫堡垒,共抗疫情.共克时艰. 作者 | 计缘 背景 当前疫情形势依然严峻,各行各业众志成城,携手抗疫.新冠病毒核 ...

  7. 滴滴 Flink-1.10 升级之路

    简介: 滴滴实时计算引擎从 Flink-1.4 无缝升级到 Flink-1.10 版本,做到了完全对用户透明.并且在新版本的指标.调度.SQL 引擎等进行了一些优化,在性能和易用性上相较旧版本都有很大 ...

  8. 双11特刊|一站式在线数据管理平台DMS技术再升级,高效护航双11

    ​简介: 10万+企业共同选择的数据库服务平台 阿里云数据库已连续多年稳定支撑天猫双11,历经极端流量场景淬炼.除了保障稳定顺滑的基本盘,今年大促期间数据库通过全面云原生化,大幅提升用户体验,让技术帮 ...

  9. 阿里云力夺FewCLUE榜首!知识融入预训练+小样本学习的实战解析

    简介: 7月8日,中文语言理解权威评测基准CLUE公开了中文小样本学习评测榜单最新结果,阿里云计算平台PAI团队携手达摩院智能对话与服务技术团队,在大模型和无参数限制模型双赛道总成绩第一名,决赛答辩总 ...

  10. GtkSharp 设置窗口背景透明

    本文告诉大家如何在 GTK Sharp 里面设置窗口背景透明 在 GTK 里面设置窗口背景透明十分简单,只需使用如下代码即可 this.AppPaintable = true; var screen ...