在 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])
lfunc = lambda e: 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