ufuncs stands for "Universal Functions" and they are NumPy functions that operate on the ndarray
object.
ufuncs are used to implement vectorization in NumPy which is way faster than iterating over elements.
They also provide broadcasting and additional methods like reduce, accumulate etc. that are very helpful for computation.
ufuncs also take additional arguments, like:
where
boolean array or condition defining where the operations should take place.
dtype
defining the return type of elements.
out
output array where the return value should be copied.
Converting iterative statements into a vector based operation is called vectorization.
It is faster as modern CPUs are optimized for such operations.
list 1: [1, 2, 3, 4]
list 2: [4, 5, 6, 7]
One way of doing it is to iterate over both of the lists and then sum each elements.
Without ufunc, we can use Python's built-in zip()
method:
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
for i, j in zip(x, y):
z.append(i + j)
print(z)
Try it Yourself »
NumPy has a ufunc for this, called add(x, y)
that will produce the same result.
With ufunc, we can use the add()
function:
import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)
Try it Yourself »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!