Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Operazioni Matematiche di Base | Matematica con NumPy
Numpy Definitivo

Scorri per mostrare il menu

book
Operazioni Matematiche di Base

Ora che hai familiarità con il concetto di broadcasting, discutiamo alcune operazioni matematiche di base in NumPy.

Operazioni Scalari

Ricorda, il broadcasting ti consente di eseguire operazioni matematiche tra due array di forme compatibili o tra un array e uno scalare.

1234567891011
import 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}')
copy

Come puoi vedere, ogni operazione viene eseguita elemento per elemento sull'array. Essenzialmente, uno scalare viene trasmesso a un array della stessa forma del nostro array originale, dove tutti gli elementi sono lo stesso numero. 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, la trasmissione viene eseguita se necessario, e ancora una volta, un'operazione viene eseguita elemento per elemento:

123456789101112
import 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}')
copy

La divisione, la sottrazione e altre operazioni aritmetiche funzionano in modo simile. Ecco un altro esempio in cui il secondo array (a destra) viene trasmesso:

123456789101112
import 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}')
copy

arr_2 viene trasmesso a un array 2D con due righe identiche, ciascuna contenente l'array [5, 6, 7].

Applicazioni

Tali operazioni matematiche sono essenziali per compiti come il ridimensionamento, la normalizzazione e la trasformazione dei dati nell'ambito del machine learning e dell'analisi statistica. Consentono operazioni efficienti elemento per elemento per combinare dataset, eseguire simulazioni numeriche e applicare filtri nell'elaborazione di immagini e segnali. Inoltre, queste operazioni sono ampiamente utilizzate nel calcolo scientifico e nelle applicazioni basate sui dati.

Compito

Swipe to start coding

Stai analizzando i dati delle vendite trimestrali per 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.

Calcola la crescita del fatturato trimestrale per ciascun prodotto in percentuale.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Operazioni Matematiche di Base

Ora che hai familiarità con il concetto di broadcasting, discutiamo alcune operazioni matematiche di base in NumPy.

Operazioni Scalari

Ricorda, il broadcasting ti consente di eseguire operazioni matematiche tra due array di forme compatibili o tra un array e uno scalare.

1234567891011
import 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}')
copy

Come puoi vedere, ogni operazione viene eseguita elemento per elemento sull'array. Essenzialmente, uno scalare viene trasmesso a un array della stessa forma del nostro array originale, dove tutti gli elementi sono lo stesso numero. 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, la trasmissione viene eseguita se necessario, e ancora una volta, un'operazione viene eseguita elemento per elemento:

123456789101112
import 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}')
copy

La divisione, la sottrazione e altre operazioni aritmetiche funzionano in modo simile. Ecco un altro esempio in cui il secondo array (a destra) viene trasmesso:

123456789101112
import 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}')
copy

arr_2 viene trasmesso a un array 2D con due righe identiche, ciascuna contenente l'array [5, 6, 7].

Applicazioni

Tali operazioni matematiche sono essenziali per compiti come il ridimensionamento, la normalizzazione e la trasformazione dei dati nell'ambito del machine learning e dell'analisi statistica. Consentono operazioni efficienti elemento per elemento per combinare dataset, eseguire simulazioni numeriche e applicare filtri nell'elaborazione di immagini e segnali. Inoltre, queste operazioni sono ampiamente utilizzate nel calcolo scientifico e nelle applicazioni basate sui dati.

Compito

Swipe to start coding

Stai analizzando i dati delle vendite trimestrali per 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.

Calcola la crescita del fatturato trimestrale per ciascun prodotto in percentuale.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt