Operazioni Matematiche di Base
Ora che hai familiarità con il concetto di broadcasting, analizziamo alcune operazioni matematiche di base in NumPy.
Operazioni scalari
Ricorda che il broadcasting consente di eseguire operazioni matematiche tra due array di forme compatibili o tra un array e uno scalare.
1234567891011import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
Come puoi vedere, ogni operazione viene eseguita elemento per elemento sull'array. In sostanza, uno scalare viene broadcastizzato su un array della stessa forma del nostro array originale, dove tutti gli elementi hanno lo stesso valore. Pertanto, l'operazione viene eseguita su ogni coppia di elementi corrispondenti dei due array.
Operazioni tra due array
Se le forme di due array sono compatibili, viene eseguito il broadcasting se necessario e, ancora una volta, l'operazione viene effettuata elemento per elemento:
123456789101112import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
La divisione, la sottrazione e le altre operazioni aritmetiche funzionano in modo analogo. Ecco un altro esempio in cui il secondo array (a destra) viene trasmesso tramite broadcasting:
123456789101112import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
arr_2 viene trasmesso tramite broadcasting a un array 2D con due righe identiche, ciascuna contenente l'array [5, 6, 7].
Applicazioni
Tali operazioni matematiche sono fondamentali per attività come la scalatura, la normalizzazione e la trasformazione dei dati nell'ambito dell'apprendimento automatico e dell'analisi statistica. Consentono operazioni efficienti elemento per elemento per combinare set di dati, eseguire simulazioni numeriche e applicare filtri nell'elaborazione di immagini e segnali. Inoltre, queste operazioni sono ampiamente utilizzate nel calcolo scientifico e nelle applicazioni data-driven.
Swipe to start coding
Stai analizzando i dati di vendita trimestrali di due prodotti nel 2021 e 2022, memorizzati in due array 2D:
sales_data_2021: vendite trimestrali per ciascun prodotto nel 2021, con ogni riga che rappresenta un prodotto specifico;sales_data_2022: vendite trimestrali per ciascun prodotto nel 2022, con ogni riga che rappresenta un prodotto specifico.
Calcolare la crescita percentuale del fatturato trimestrale per ciascun prodotto.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.7
Operazioni Matematiche di Base
Scorri per mostrare il menu
Ora che hai familiarità con il concetto di broadcasting, analizziamo alcune operazioni matematiche di base in NumPy.
Operazioni scalari
Ricorda che il broadcasting consente di eseguire operazioni matematiche tra due array di forme compatibili o tra un array e uno scalare.
1234567891011import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
Come puoi vedere, ogni operazione viene eseguita elemento per elemento sull'array. In sostanza, uno scalare viene broadcastizzato su un array della stessa forma del nostro array originale, dove tutti gli elementi hanno lo stesso valore. Pertanto, l'operazione viene eseguita su ogni coppia di elementi corrispondenti dei due array.
Operazioni tra due array
Se le forme di due array sono compatibili, viene eseguito il broadcasting se necessario e, ancora una volta, l'operazione viene effettuata elemento per elemento:
123456789101112import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
La divisione, la sottrazione e le altre operazioni aritmetiche funzionano in modo analogo. Ecco un altro esempio in cui il secondo array (a destra) viene trasmesso tramite broadcasting:
123456789101112import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
arr_2 viene trasmesso tramite broadcasting a un array 2D con due righe identiche, ciascuna contenente l'array [5, 6, 7].
Applicazioni
Tali operazioni matematiche sono fondamentali per attività come la scalatura, la normalizzazione e la trasformazione dei dati nell'ambito dell'apprendimento automatico e dell'analisi statistica. Consentono operazioni efficienti elemento per elemento per combinare set di dati, eseguire simulazioni numeriche e applicare filtri nell'elaborazione di immagini e segnali. Inoltre, queste operazioni sono ampiamente utilizzate nel calcolo scientifico e nelle applicazioni data-driven.
Swipe to start coding
Stai analizzando i dati di vendita trimestrali di due prodotti nel 2021 e 2022, memorizzati in due array 2D:
sales_data_2021: vendite trimestrali per ciascun prodotto nel 2021, con ogni riga che rappresenta un prodotto specifico;sales_data_2022: vendite trimestrali per ciascun prodotto nel 2022, con ogni riga che rappresenta un prodotto specifico.
Calcolare la crescita percentuale del fatturato trimestrale per ciascun prodotto.
Soluzione
Grazie per i tuoi commenti!
single