HOWTO · NumPy
Mappa una funzione in NumPy
Esistono 2 metodi principali che possono essere utilizzati per mappare una funzione su un array NumPy in Python, la funzione numpy.vectorize() e la parola chiave lambda.
In questa pagina
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.