Сопоставьте функцию в NumPy

  1. Сопоставьте функцию в NumPy с помощью функции numpy.vectorize()
  2. Сопоставьте функцию в NumPy с ключевым словом lambda в Python

В этом руководстве будут представлены методы сопоставления функции с массивом NumPy в Python.

Топ 5 направлений в ...
Топ 5 направлений в Азии для цифровых кочевников

Сопоставьте функцию в NumPy с помощью функции numpy.vectorize()

Функция 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() и объявили функцию fun. Затем мы передали функцию fun в функцию np.vectorize() и сохранили результат в vfunc. После этого мы передали массив в vfunc и сохранили результат внутри массива result.

Сопоставьте функцию в NumPy с ключевым словом lambda в Python

Ключевое слово lambda создает анонимную функцию в Python. Анонимные функции полезны, когда нам нужна только временная функция в нашем коде. Мы также можем использовать лямбда-функции для сопоставления функции с массивом NumPy. Мы можем передать массив лямбда-функции для итеративного применения к каждому элементу массива.

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() и лямбда-функцию lfunc с ключевым словом lambda. Затем мы сопоставили lfunc с массивом, передав array функции lfunc. Мы сохранили результат в массиве result и распечатали значения внутри него.