Come mappare una funzione su un array numpy (con esempi)
È possibile utilizzare la seguente sintassi di base per mappare una funzione su un array NumPy:
#define function
my_function = lambda x: x*5
#map function to every element in NumPy array
my_function(my_array)
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: mappatura della funzione su un array NumPy unidimensionale
Il codice seguente mostra come mappare una funzione su un array NumPy che moltiplica ciascun valore per 2 e quindi aggiunge 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])
Ecco come è stato calcolato ciascun valore nella nuova tabella:
- Primo valore: 1*2+5 = 7
- Secondo valore: 3*2+5 = 11
- Terzo valore: 4*2+5 = 13
E così via.
Esempio 2: mappatura della funzione su un array NumPy multidimensionale
Il codice seguente mostra come mappare una funzione su un array NumPy multidimensionale che moltiplica ciascun valore per 2 e quindi aggiunge 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]])
Si noti che questa sintassi funziona altrettanto bene con un array multidimensionale che con un array unidimensionale.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in NumPy:
Come aggiungere una colonna a un array NumPy
Come convertire un array NumPy in un elenco in Python
Come esportare un array NumPy in un file CSV