numpy的通用函数:快速的元素级数组函数
通用函数(ufunc)是对ndarray中的数据执行元素级运算的函数。可看作简单函数的矢量化包装。
一元ufunc
sqrt对数组中的所有元素开平方
exp对数组中的所有元素求指数
In [93]: arr = np.arange(10) In [94]: np.sqrt(arr)
Out[94]:
array([0. , 1. , 1.41421356, 1.73205081, 2. ,
2.23606798, 2.44948974, 2.64575131, 2.82842712, 3. ]) In [95]: np.exp(arr)#exp是求以e(常数2.718281)为底的arr[index]为幂的指数
Out[95]:
array([1.00000000e+00, 2.71828183e+00, 7.38905610e+00, 2.00855369e+01,
5.45981500e+01, 1.48413159e+02, 4.03428793e+02, 1.09663316e+03,
2.98095799e+03, 8.10308393e+03])
二元ufunc
maximum 比较多个数组相同位置的元素,取大的值。注意,相互比较的数组shape必须一致
In [108]: x = np.random.randn(8) In [109]: y = np.random.randn(8) In [110]: z = np.random.randn(8) In [111]: np.maximum(x,y)
Out[111]:
array([-0.01345165, 1.2966861 , 1.92527939, 0.67587486, -0.51879301,
0.03009451, 1.06056746, -0.27034234]) In [112]: np.maximum(x,y,z)
Out[112]:
array([-0.01345165, 1.2966861 , 1.92527939, 0.67587486, -0.51879301,
0.03009451, 1.06056746, -0.27034234])
minimum
modf 分离整数和小数
In [100]: arr = np.random.randn(7)*5
In [103]: np.modf(arr)
Out[103]:
(array([ 0.57608342, 0.6771948 , -0.18724925, -0.21329855, -0.28322408, 0.87645773, -0.89368417]),
array([ 1., 3., -0., -2., -4., 0., -2.]))
下边将会给出两个通用函数表格,一元ufunc和二元ufunc
| 函数 | 说明 |
|---|---|
| abs、fabs | 计算整数、浮点数或复数的绝对值。对应非复数,可以使用更快的fabs |
| sqrt | 计算各元素平方根,相当于array * * 0.5 |
| square | 计算各元素平方,相当于array * * 2 |
| exp | 计算各元素的指数 |
| log、log10、log2、log1p | 分别以自然对数(底数e)、10、2、(1+x)的对数 |
| sign | 计算各元素的正负号:1(正数)、0(零)、-1(负数) |
| ceil | 计算各元素的ceiling值,即大于等于该值的最小整数 |
| floor | 计算各元素的floor值,即小于等于该值的最大正数 |
| rint | 将各元素值四舍五入到最接近的整数,保留dtype |
| modf | 将数组的小数和整数部分已两个独立数组的形式返回 |
| isnan | 返回一个表示“哪些是NAN”的布尔型数组 |
| isfinite、isinf | 返回一个表示“哪些是finite、inf”的布尔型数组 |
| cos、cosh、sin、sinh、tan、tanh | 普通型和双曲线三角函数 |
| arccos、arccosh、arcsin、arcsinh、arctan、arctanh | 反三角函数 |
| logical_not | 计算各元素not x的真值,相当于-arr |
| 函数 | 说明 |
|---|---|
| add | 将数组中对应的元素相加 |
| subtract | 从第一个数组中的元素减去第二个数组中的元素 |
| multiply | 数组元素相乘 |
| divide、floor_dixide | 除法、向下圆整除法(丢弃余数) |
| power | 对第一个数组中元素A,根据第二个数组中的相应位置元素B,计算A^B |
| maximum、fmax | 元素级的最大值计算,fmax将忽略NaN |
| minimum、fmin | 元素级的最小值计算,fmin将忽略NaN |
| mod | 元素级的求模计算,(除法的余数) |
| greater、greater_equal、less、less_equal、equal、not_equal | 执行元素级的比较运算,最终产生布尔型数组。相当于中缀运算符>、>=、<、<=、==、!= |
| logical_and、logical_or、logical_xor | 执行元素级的真值逻辑 |
numpy的通用函数:快速的元素级数组函数的更多相关文章
- numpy中的快速的元素级数组函数
numpy中的快速的元素级数组函数 一元(unary)ufunc 对于数组中的每一个元素,都将元素代入函数,将得到的结果放回到原来的位置 >>> import numpy as np ...
- 【学习】通用函数:快速的元素级数组函数【Numpy】
通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数.可以将其看做简单函数(接受一个或多个标量值,并产生一个或多个标量值)的矢量化包装器. sqrt 和 exp为一元(unary ...
- Numpy 的通用函数:快速的元素级数组函数
通用函数: 通用函数(ufunc)是一种对ndarray中的数据执行元素级运算的函数.你可以将其看作简单函数(接受一个或多个标量值,并产生一个或度过标量值)的矢量化包装器. 简单的元素级变体,如sqr ...
- numpy元素级数组函数
一元函数 abs, fabs 计算整数.浮点数或复数的绝对值.对于非复数值,可以使用更快的fabs. sqrt 计算各元素的平方根.相当于arr ** 0.5 sqare 计算各元素的平方.相当于ar ...
- numpy的通用函数
通用函数:快速的元素级数组函数 通用函数是一种对ndarry中的数据执行元素级运算的函数,可以看作是简单函数(接受一个或多个标量值,并产生一个或多个标量值)的矢量化包装器. 一元func: abs丶f ...
- numpy之通用函数ufunc
通用函数-元素级数组函数 通用函数(ufunc)是一种对ndarray执行元素级运算的函数. 一元ufunc import numpy as np arr = np.arange(-10,10,2) ...
- 初探numpy——numpy常用通用函数
numpy通用函数 快速的逐元素数组函数,也可以称为ufunc,对ndarray数据中的元素进行逐元素操作的函数 一元通用函数 函数名 描述 abs.fabs 取绝对值 sqrt 计算平方根,等同于a ...
- 关于理解《C++ 对象模型》中:把单一元素的数组放在末尾,struct可以拥有可变大小的数组
这一章在第19页,写的好深奥,我竟然没看明白在说什么--之后再看了几遍,终于明白了. 原文: C程序员的巧计有时候却成为c++程序员的陷阱.例如把单一元素的数组放在一个struct的末尾,于是每个st ...
- php快速定位多维数组的深度
原文地址:php快速定位多维数组的深度作者:陌上花开 自定义一个函数: function array_depth($array) { $max_depth = 1; foreach ($array ...
随机推荐
- 文件打开的过程——调用fd=open()时操作系统所做的工作
fd=fopen()是一个系统调用.用于依据文件名称打开一个文件.返回该文件的文件描写叙述符,文件打开后进程便能够依据文件描写叙述符fd进行其它操作,比方读,写,关闭等操作. 各个操作系统打开文件的过 ...
- mysql数据库记录
ON DELETE restrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除. no action:意思同restrict.即如果存在从数 ...
- PHP excel读取excel文件转换为数组
/*备注:先去下载PHP EXCEL——http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=phpexcel&am ...
- shell实现洗牌随机
洗牌问题: 洗一副扑克,有什么好办法?既能洗得均匀,又能洗得快?即相对于一个文件来说怎样 高效率的实现乱序排列? 关于洗牌问题,其实已经有了一个很好的shell解法,这里另外给三个基于AWK的方法, ...
- linux命令-进阶1
Linux查看系统信息的一些命令及查看已安装软件包的命令 centos下如何查看某个软件是否安装http://www.landui.com/help/show-3959.html CentOS 下 r ...
- Java并发编程(十一)实例封闭
本节主题:如果一个类是线程不安全的,但是又要在多线程程序中安全地使用,你该怎么办? 大体有两种思路: 第一种:确保该对象是能由单个线程访问,也就是这个对象是被封闭在线程中的: 第二种:通过锁来对该对象 ...
- nginx源代码分析--nginx模块解析
nginx的模块很之多.能够觉得全部代码都是以模块的形式组织.这包含核心模块和功能模块,针对不同的应用场合.并不是全部的功能模块都要被用到,附录A给出的是默认configure(即简单的httpser ...
- 21:开发脚本管理服务端LVS案例
[root@lb03 scripts]# cat lv_manager.sh #!/bin/bash #定义只能是root用户执行 ];then echo "permission deny ...
- 【转】Android自动化测试(UiAutomator)——UiObject
本文主要讲解使用UiAutomator的一些技巧,希望对于初学者有一定的帮助 UiObject 1.首先要声明对象 UiObject XXX = new UiObject(new Selector) ...
- il code swtich
public enum RangeItemType { CompanyPicker = 1, //公司STR_COMPANY BrDivPicker = 2, //分行STR_BRDIV Depart ...