在 NumPy 中映射函数
本教程将介绍在 Python 中将函数映射到 NumPy 数组的方法。
使用 numpy.vectorize() 函数映射 NumPy 中的函数
numpy.vectorize() 函数 将函数映射到包含一系列对象(如 Python 中的数组)的数据结构上。它依次将输入函数应用于序列或数组的每个元素。numpy.vectorize() 函数的返回类型由输入函数决定。请参考以下代码示例。
import numpy as np
array = np.array([1, 2, 3, 4, 5])
def fun(e):
return e % 2
vfunc = np.vectorize(fun)
result = vfunc(array)
print(result)
输出:
[1 0 1 0 1]
我们首先使用 np.array() 函数创建了 array,并声明了函数 fun。然后我们将 fun 函数传递给 np.vectorize() 函数并将结果存储在 vfunc 中。之后,我们将 array 传递给 vfunc 并将结果存储在 result 数组中。
使用 Python 中的 lambda 关键字映射 NumPy 中的函数
lambda 关键字 在 Python 中创建一个匿名函数。当我们只在代码中临时需要一个函数时,匿名函数会很有帮助。我们还可以使用 lambda 函数将函数映射到 NumPy 数组。我们可以将数组传递给 lambda 函数以迭代地应用于每个数组元素。
import numpy as np
array = np.array([1, 2, 3, 4, 5])
def lfunc(e):
return e % 2
result = lfunc(array)
print(result)
输出:
[1 0 1 0 1]
我们首先使用 np.array() 函数创建了 array,并使用 lambda 关键字创建了 lambda 函数 lfunc。然后我们通过将 array 传递给 lfunc 函数来将 lfunc 映射到 array。我们将结果保存在 result 数组中并打印其中的值。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn