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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *