AD

Array con valori equidistanti con NumPy in Python

Tra le varie operazioni che NumPy facilita, la creazione di array con valori equidistanti è una delle più comuni e utili. In questa guida esploreremo come creare array con valori equidistanti utilizzando le funzioni numpy.linspace() e numpy.arange(), le loro differenze, e come scegliere quella più adatta alle tue esigenze.

Creare array con valori equidistanti usando linspace di NumPy

La funzione linspace è progettata per creare array con un numero specifico di valori equidistanti tra due estremi, ed è particolarmente utile quando si ha bisogno di un controllo preciso sul numero di punti.

import numpy as np array = np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

dove:

  • start: Il valore iniziale della sequenza.

  • stop: Il valore finale della sequenza.

  • num: Il numero di elementi nell'array (default è 50).

  • endpoint: Se True, stop è incluso nella sequenza (default è True).

  • retstep: Se True, ritorna anche il passo tra i valori (default è False).

  • dtype: Specifica il tipo di dato degli elementi dell'array.

Ad esempio, creiamo un array con 10 valori equidistanti tra 0 e 5:

import numpy as np array_equidistante = np.linspace(0, 5, num=10) print(array_equidistante) # Output: [0.         0.55555556 1.11111111 1.66666667 2.22222222 2.77777778 3.33333333 3.88888889 4.44444444 5.        ]

Creare array con valori equidistanti usando arange di NumPy

La funzione arange genera array con valori equidistanti, simili alla funzione range() di Python, ma con maggiore flessibilità, specialmente per intervalli decimali o float.

import numpy as np array = np.arange(start, stop, step, dtype=None)

dove:

  • start: Il valore iniziale della sequenza.

  • stop: Il valore finale della sequenza (non incluso).

  • step: La differenza tra i valori successivi.

  • dtype: Il tipo di dato degli elementi dell'array.

Creiamo un array di numeri da 0 a 9 con passo 2:

import numpy as np array_arange = np.arange(0, 10, 2) print(array_arange) # Output: [0 2 4 6 8]

Nota: la funzione arange è più adatta quando si conosce il passo desiderato tra i valori e si vuole generare un array fino a un certo limite.