Mappa una funzione in NumPy
-
Mappa una funzione in NumPy con la funzione
numpy.vectorize()
-
Mappa una funzione in NumPy con la parola chiave
lambda
in Python
Questo tutorial introdurrà i metodi per mappare una funzione su un array NumPy in Python.
Mappa una funzione in NumPy con la funzione numpy.vectorize()
La funzione numpy.vectorize()
mappa le funzioni su strutture di dati che contengono una sequenza di oggetti come gli array in Python. Applica successivamente la funzione di input su ciascun elemento della sequenza o dell’array. Il tipo di ritorno della funzione numpy.vectorize()
è determinato dalla funzione di input. Vedere il seguente esempio di codice.
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)
Produzione:
[1 0 1 0 1]
Per prima cosa abbiamo creato l’array
con la funzione np.array()
e abbiamo dichiarato la funzione fun
. Quindi abbiamo passato la funzione fun
alla funzione np.vectorize()
e memorizzato il risultato in vfunc
. Successivamente, abbiamo passato l’array
a vfunc
e archiviato il risultato all’interno dell’array result
.
Mappa una funzione in NumPy con la parola chiave lambda
in Python
La parola chiave lambda
crea una funzione anonima in Python. Le funzioni anonime sono utili quando abbiamo solo bisogno di una funzione temporaneamente nel nostro codice. Possiamo anche usare le funzioni lambda per mappare una funzione su un array NumPy. Possiamo passare un array alla funzione lambda da applicare in modo iterativo su ciascun elemento dell’array.
import numpy as np
array = np.array([1, 2, 3, 4, 5])
def lfunc(e):
return e % 2
result = lfunc(array)
print(result)
Produzione:
[1 0 1 0 1]
Per prima cosa abbiamo creato l’array
con la funzione np.array()
e la funzione lambda lfunc
con la parola chiave lambda
. Abbiamo quindi mappato lfunc
su array
passando array
alla funzione lfunc
. Abbiamo salvato il risultato all’interno dell’array result
e stampato i valori al suo interno.
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