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