Вы можете использовать следующий базовый синтаксис для сопоставления функции с массивом 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