python数据科学(三) Numpy(二) 通用函数

本文最后更新于:2023年4月15日 晚上

python数据科学(三) Numpy(二) 通用函数

NumPy 为很多类型的操作提供了非常方便的、静态类型的、可编译程序的接口,也被称作向量操作。你可以通过简单地对数组执行操作来实现,这里对数组的操作将会被用于数组中的每一个元素。这种向量方法被用于将循环推送至 NumPy 之下的编译层,这样会取得更快的执行效率。

1 | 数组的运算

NumPy实现的算数运算符

对数组应用这些运算符, 相当于对数组的每一个元素应用+-x/之类

数组的运算

2 | 绝对值

3 | 三角函数

角度数组的定义:

1
theta = np.linspace(0, np.pi, 3)  # 0, pi/2, pi

三角函数: np.sin np.cos np.tan

同样可以使用逆三角函数np.arccos np.arcsin np.arctan

4 | 指数和对数

指数运算 含义
np.exp(x) $e^x$
np.exp2(x) $2^x$
np.power(n, x) $n^x$
对数运算 含义
np.log(x) $\ln \left( \mathrm{x} \right) $
np.log2(x) $\log _2\mathrm{x}$
np.log10(x) $\lg\mathrm{x}$

还有一些特殊版本:

运算 含义
np.expm1(x) $\mathrm{e}^{\mathrm{x}}-1$
np.log1p(x) $\ln \left( 1+\mathrm{x} \right) $

当x值很小时, 这两个特殊运算给出的计算较np.lognp.exp更加精确

5 | 专用通用函数

NumPy除了上述常用的通用函数之外, 还提供了双曲三角函数, 比特位运算, 比较运算, 弧度转角度, 求,整取余等运算符, 见:

Numpy文档-可用ufuncs

除此之外, 还有一个专用的通用函数子模块用于进行晦涩的数学计算, 叫做scipy.special

scipy.special文档

(具体用的时候再看吧..)

6 | 高级的通用函数特性

6-1 | 指定输出

所有的通用函数都可以通过out参数来指定输出的位置:

比如我先定义一个全0数组y

1
y = np.zeros(10)

然后指定x*10存放在y数组中, 每间隔一个存放

1
np.multiply(x, 10, out = y[::2])

6-2 | 聚合

reduce方法:

reduce方法

6-3 | 外积

任何通用函数都可以用outer方法获得两个不同输入数组所有元素对的函数运算结果

外积


python数据科学(三) Numpy(二) 通用函数
https://blog.roccoshi.top/posts/6078/
作者
RoccoShi
发布于
2021年1月15日
许可协议