在 NumPy 中映射函数

Muhammad Maisam Abbas 2023年1月30日 NumPy
  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 数组中并打印其中的值。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
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