Numpy 一元函数

Numpy 一元函数

通用函数(即 ufunc)是一种对 ndarray 中的数据执行元素级运算的函数。你可以将其看作简单函数的矢量化封装结果。本小节主要讲述仅接受一个标量值、并产生一个或多个标量值的情况,这里称之为一元函数。

Numpy 中包含了大量的这类数学运算,包括三角函数、舍入取整函数、运算函数等。

1. 三角函数

1.1 三角函数

Numpy 提供了标准的三角函数:sin()、cos()、tan(),通过接受弧度值,返回对应的结果:

案例

arr0 = np.array([/, /, /, /, /])*np.pi
arr0
out:array([, , ,  , ])

查看arr0中角度的正弦值:

arr0_sin = np.sin(arr0)arr0_sin
out:array([      , , .       , ,       ])

查看arr0中角度的余弦值:

arr0_cos = np.cos(arr0)arr0_cos
out:array([ ,  ,  , -,   -])

查看arr0中角度的正切值:

arr0_tan = np.tan(arr0)arr0_tan
out:array([ ,  ,  , -,   -])

Numpy 常用的三角函数包括:

函数说明
sin、cos、tan普通的正弦、余弦、正切函数
sinh、cosh、tanh双曲正弦、双曲余弦、双曲正切

1.2 反三角函数

Numpy 提供了相对应的反三角函数:

案例

将上个案例中生成的arr0_sin、arr0_cos和arr0_tan进行反转求角度。

利用反正弦函数,还原arr0_sin的角度:

np.arcsin(arr0_sin)out:array([, , , , ])

利用反余弦函数,还原 arr0_cos 的角度:

np.arccos(arr0_cos)out:array([, , ,  , ])

利用反正切函数,还原arr0_tan的角度:

np.arctan(arr0_tan)out:array([ ,  ,  , -, -])

Numpy 常用的三角函数包括:

函数说明
arcsin、arccos、arctan反正弦、反余弦、反正切函数
arcsinh、arccosh、arctanh反双曲正弦、反双曲余弦、反双曲正切

2. 数值修约函数

数值修约,又称数字修约,是指在进行具体的数字运算前,按照一定的规则确定一致的位数,然后舍去某些数字后面多余的尾数的过程。比如, 我们常提到的四舍五入,就属于数值修约中的一种。

常用的数值修约函数如下:

函数说明
around返回指定数字的四舍五入值。
floor返回小于或者等于指定表达式的最大整数,即向下取整。
ceil返回大于或者等于指定表达式的最小整数,即向上取整。
rint将各元素四舍五入到最接近的整数。

2.1 四舍五入around函数

around的原型如下:

numpy.around(a,decimals)

函数接受的参数详解如下:

参数说明
a输入数组
decimals舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置

案例

随机创建数组方针:

arr1 = np.random.normal(loc=, scale=, size=(,))

查看生成的数组:

arr1
out:array([[  ,   ,  -],   [ -,  ,   ],   [-, -,   ]])

对arr1进行四舍五入取整:

np.around(arr1)out:array([[  .,  .,  -.],   [ -.,  .,   .],   [-., -.,   .]])

把arr1四舍五入到2位小数:

np.around(arr1, )out:array([[  ,   ,  -],   [ -,  ,   ],   [-, -,   ]])

把arr1四舍五入到小数点左侧一位:

np.around(arr1, -)out:array([[  .,  .,  -.],   [ -.,  .,  .],   [-., -.,   .]])

2.2 其他取整函数

常用的取整方法有:向上取整(ceil)、向下取整(floor)和四舍五入(rint)。这里以向下取整为例,进行说明,其他函数的用法基本类似。

案例

对 arr1 进行向下取整:

np.floor(arr1)out:array([[  .,   .,  -.],   [ -.,  .,   .],   [-., -.,   .]])

3. 算数运算

3.1 算数运算

常用的一元算数运算函数有:

函数说明
abs计算整数、浮点数的绝对值
sqrt计算各元素的平方根
square计算各元素的平方
exp计算各元素的指数ex
log、log10、log2、log1p分别位自然对数(底数为e)、底数为10 的log、底数为2的log、log(1+x)

案例

这里以计算arr1的绝对值为例,进行演示:

np.abs(arr1)out:array([[ ,  ,  ],   [ , ,  ],   [, ,  ]])

4. 判断空值

4.1 isnan

函数说明:该函数返回一个表示哪些值是NaN的布尔型数组。

案例

创建一个包含空值的数组:

arr2 = np.array([,,np.nan, ])arr2
out:array([ .,  ., nan,  .])

判断数组中的空值:

np.isnan(arr2)out:array([False, False,  True, False])

5. 小结

本节重点介绍了 Numpy 中常见的一元函数,包括:三角与反三角函数、数值修约函数、一元算术运算、空值判断方法。