Numpy: la differenza tra np.linspace e np.arange


Quando si tratta di creare una sequenza di valori, linspace e arange sono due funzioni NumPy comunemente usate.

Ecco la sottile differenza tra le due funzioni:

  • linspace consente di specificare il numero di passaggi
  • arange consente di specificare la dimensione dei passaggi

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuna funzione.

Esempio 1: come utilizzare np.linspace

La funzione np.linspace() utilizza la seguente sintassi di base:

np.linspace(inizio, fine, numero, …)

Oro:

  • start : il valore iniziale della sequenza
  • stop : il valore finale della sequenza
  • num : il numero di valori da generare

Il codice seguente mostra come utilizzare np.linspace() per creare 11 valori equidistanti tra 0 e 20:

 import numpy as np

#create sequence of 11 evenly spaced values between 0 and 20
n.p. linspace (0, 20, 11)

array([ 0., 2., 4., 6., 8., 10., 12., 14., 16., 18., 20.])

Il risultato è un array di 11 valori equidistanti tra 0 e 20.

Utilizzando questo metodo, np.linspace() determina automaticamente la distanza tra i valori.

Esempio 2: come utilizzare np.arange

La funzione np.arange() utilizza la seguente sintassi di base:

np.arange(inizio, fine, passo, …)

Oro:

  • start : il valore iniziale della sequenza
  • stop : il valore finale della sequenza
  • step : la spaziatura tra i valori

Il codice seguente mostra come utilizzare np.arange() per creare una sequenza di valori compresi tra 0 e 20 in cui la spaziatura tra ciascun valore è 2:

 import numpy as np

#create sequence of values between 0 and 20 where spacing is 2
n.p. arange (0, 20, 2)

array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])

Il risultato è una sequenza di valori compresi tra 0 e 20 dove la spaziatura tra ciascun valore è 2.

Utilizzando questo metodo, np.arange() determina automaticamente il numero di valori da generare.

Se utilizziamo una dimensione del passo diversa (come 4), np.arange() regolerà automaticamente il numero totale di valori generati:

 import numpy as np

#create sequence of values between 0 and 20 where spacing is 4
n.p. arange (0, 20, 4)

array([ 0, 4, 8, 12, 16])

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in Python:

Come riempire un array NumPy con valori
Come sostituire gli elementi in un array NumPy
Come contare valori univoci nell’array NumPy

Aggiungi un commento

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