在 NumPy 中映射函数

Muhammad Maisam Abbas 2023年1月30日
  1. 使用 numpy.vectorize() 函数映射 NumPy 中的函数
  2. 使用 Python 中的 lambda 关键字映射 NumPy 中的函数
在 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 数组中并打印其中的值。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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