ufuncs 代表"Universal Functions",它们是在ndarray
目的。
ufunc 用于实现矢量化在 NumPy 中,这比迭代元素要快得多。
它们还提供广播和其他方法,如减少、累积等,这对计算非常有帮助。
ufunc 还接受其他参数,例如:
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)
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!