Как сопоставить функцию с массивом NumPy (с примерами)


Вы можете использовать следующий базовый синтаксис для сопоставления функции с массивом NumPy:

#define function
my_function = lambda x: x\*5

#map function to every element in NumPy array
my_function(my_array)

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: Функция карты над одномерным массивом NumPy

В следующем коде показано, как сопоставить функцию с массивом NumPy, который умножает каждое значение на 2, а затем добавляет 5:

import numpy as np

#create NumPy array
data = np.array([1, 3, 4, 4, 7, 8, 13, 15])

#define function
my_function = lambda x: x\*2+5

#apply function to NumPy array
my_function(data)

array([ 7, 11, 13, 13, 19, 21, 31, 35])

Вот как было рассчитано каждое значение в новом массиве:

  • Первое значение: 1*2+5 = 7
  • Второе значение: 3*2+5 = 11
  • Третье значение: 4*2+5 = 13

И так далее.

Пример 2: Функция Map над многомерным массивом NumPy

В следующем коде показано, как сопоставить функцию с многомерным массивом NumPy, который умножает каждое значение на 2, а затем добавляет 5:

import numpy as np

#create NumPy array
data = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

#view NumPy array
print(data)

[[1 2 3 4]
 [5 6 7 8]]

#define function
my_function = lambda x: x\*2+5

#apply function to NumPy array
my_function(data)

array([[ 7, 9, 11, 13],
 [15, 17, 19, 21]])

Обратите внимание, что этот синтаксис работал с многомерным массивом точно так же, как и с одномерным массивом.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в NumPy:

Как добавить столбец в массив NumPy
Как преобразовать массив NumPy в список в Python
Как экспортировать массив NumPy в файл CSV