📅  最后修改于: 2023-12-03 14:50:12.614000             🧑  作者: Mango
在numpy中,我们可以使用numpy.vectorize()
对数组的每个元素进行运算。使用这个函数,我们可以将任何函数应用于numpy数组的每个元素。vectorize()在内部使用循环,因此它的表现比直接向numpy数组应用函数要慢,但在特定情况下仍然很有用。
让我们看一个例子。我们有一个numpy数组x
,我们想对每个元素进行乘以2的运算。
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.vectorize(lambda i: i * 2)(x)
print(y)
输出将是:
[[ 2 4 6]
[ 8 10 12]]
我们可以将任何函数作为第一个参数传递给vectorize()函数,这里我们使用一个匿名函数来将每个元素乘以2。
请注意,在使用vectorize()时,只有输入的每个数组中的元素被处理一次。因此,如果您的函数修改参考数组,则函数将只对初始数组中的元素进行一次操作,并且其他元素将是未定义的。
numpy的vectorize()函数使得对数组的处理变得很容易。只需传递一个函数即可完成对每个元素的处理。但是,需要小心处理可能会造成意外输出的情况。