在 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])
lfunc = lambda e: e % 2
result = lfunc(array)
print(result)
輸出:
[1 0 1 0 1]
我們首先使用 np.array()
函式建立了 array
,並使用 lambda
關鍵字建立了 lambda 函式 lfunc
。然後我們通過將 array
傳遞給 lfunc
函式來將 lfunc
對映到 array
。我們將結果儲存在 result
陣列中並列印其中的值。
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