NumPy ufuncs
什么是 ufuncs?
ufuncs 代表“通用函数”,它们是 NumPy 中作用于 ndarray
对象的函数。
为什么要使用 ufuncs?
ufuncs 用于在 NumPy 中实现矢量化,这比迭代元素快得多。
它们还提供广播和诸如 reduce、accumulate 等其他方法,这些方法对于计算非常有用。
ufuncs 还可以接受其他参数,例如
where
布尔数组或定义操作发生位置的条件。
dtype
定义元素的返回类型。
out
输出数组,返回值应复制到其中。
什么是矢量化?
将迭代语句转换为基于向量的操作称为矢量化。
它更快,因为现代 CPU 针对此类操作进行了优化。
添加两个列表的元素
列表 1:[1, 2, 3, 4]
列表 2:[4, 5, 6, 7]
一种方法是遍历这两个列表,然后对每个元素求和。
示例
在没有 ufunc 的情况下,我们可以使用 Python 的内置 zip()
方法
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
for i, j in zip(x, y)
z.append(i + j)
print(z)
自己试试 »
NumPy 有一个为此目的的 ufunc,称为 add(x, y)
,它将产生相同的结果。
示例
使用 ufunc,我们可以使用 add()
函数
import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)
自己试试 »