In questa lezione eseguiremo le operazioni aritmetiche con gli array e NumPy in Python. L’obiettivo sarà dunque quello di applicare queste operazioni su array unidimensionali, bidimensionali e multidimensionali.
Operazioni aritmetiche con gli array Numpy unidimensionali
Innanzitutto creiamo due array unidimensionali, della stessa dimensione usando np.array:
import numpy as np
# Creazione di due array
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])
Dopo, eseguiamo l’addizione dei due array:
# Addizione di due array
result_addition = arr1 + arr2
print("Addizione:", result_addition)
In output visualizziamo: Addizione:
[ 7 9 11 13 15 ]
Quindi, eseguiamo adesso la sottrazione:
# Sottrazione di due array
result_subtraction = arr1 - arr2
print("Sottrazione:", result_subtraction)
In output visualizziamo dunque: Sottrazione: [-5 -5 -5 -5 -5]
Poi, eseguiamo la moltiplicazione tra i due array:
# Moltiplicazione di due array
result_multiplication = arr1 * arr2
print("Moltiplicazione:", result_multiplication)
In output visualizziamo: Moltiplicazione: [ 6 14 24 36 50]
Eseguiamo anche la divisione:
# Divisione di due array
result_division = arr2 / arr1
print("Divisione:", result_division)
In output visualizziamo dunque: Divisione: [6. 3.5 2.66666667 2.25 2. ]
Infine, eseguiamo la potenza tra i due array:
# Potenza di un array
result_power = arr1 ** 2
print("Potenza:", result_power)
In output visualizziamo: Potenza: [ 1 128 6561 262144 9765625]
Operazioni aritmetiche con gli array Numpy multidimensionali
Allo stesso modo si svolgono tali operazioni sia con gli array bidimensionali sia con quelli multidimensionali della stessa dimensione.
Creiamo dunque due array bidimensionali:
import numpy as np
# Creazione di due array bidimensionali
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])
Le operazioni aritmetiche si eseguono allo stesso modo:
# Addizione di due array bidimensionali
result_addition = arr1 + arr2
print("Addizione:")
print(result_addition)
# Sottrazione di due array bidimensionali
result_subtraction = arr1 - arr2
print("Sottrazione:")
print(result_subtraction)
# Moltiplicazione di due array bidimensionali
result_multiplication = arr1 * arr2
print("Moltiplicazione:")
print(result_multiplication)
# Divisione di due array bidimensionali
result_division = arr1 / arr2
print("Divisione:")
print(result_division)
# Potenza di due array bidimensionali
result_power = arr1 ** arr2
print("Potenza:")
print(result_power)
Operazioni aritmetiche con array Numpy di dimensioni diverse
Può capitare anche che gli array non abbiamo la stessa dimensione, ma che siano compatibili. Quando eseguiamo operazioni aritmetiche con array di dimensioni diverse in NumPy ma che oddisfano determinate condizioni, il broadcasting può essere applicato automaticamente. Il broadcasting è un meccanismo che consente a NumPy di eseguire operazioni tra array con forme diverse, rendendo le dimensioni compatibili per l’operazione.
Nella prossima lezione approndiremo in dettaglio questo argomento.
Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!
Conclusioni
In questa lezione, abbiamo esplorato le operazioni aritmetiche di base su array NumPy della stessa dimensione e array di dimensione diverse. NumPy offre un modo potente ed efficiente per eseguire operazioni matematiche su array unidimensionali, bidimensionali e multidimensionali, che sono essenziali per l’analisi numerica e scientifica in Python. Siamo in grado di eseguire facilmente operazioni come addizione, sottrazione, moltiplicazione, divisione e potenza su array della stessa dimensione utilizzando NumPy. È importante controllare attentamente le dimensioni degli array quando si eseguono operazioni aritmetiche, specialmente quando si lavora con array multidimensionali per evitare errori. Nelle prossime lezioni vedremo come fare.
Alcuni link utili
Indice tutorial sul linguaggio Python
Introduzione alla programmazione ad oggetti
Come definire una classe in Python
Calcolatrice in Python utilizzando le classi
Come aggiungere un numero random in un file che contiene dei numeri