Funzioni per creare array in NumPy
Gli array di NumPy, noti come ndarray, sono una struttura dati essenziale per lavorare con dati numerici in modo rapido e scalabile. In questa guida esploreremo le principali funzioni di NumPy per la creazione di array.
La creazione di array a partire da liste o tuple è uno dei metodi più semplici e diretti in NumPy. Questo approccio è utile quando hai già dei dati strutturati in queste forme e vuoi convertirli in array per sfruttare le funzionalità avanzate di NumPy.
import numpy as np
# Creare un array a partire da una lista
array_da_lista = np.array([1, 2, 3, 4])
# Creare un array a partire da una tupla
array_da_tupla = np.array((5, 6, 7, 8))
In questo esempio, np.array() è utilizzato per convertire liste o tuple in array di NumPy. È importante notare che gli elementi dell'array saranno dello stesso tipo, determinato automaticamente in base agli elementi forniti.
NumPy offre una serie di funzioni per creare array con valori predefiniti, come array di zeri, uni, o valori casuali. Questi array sono particolarmente utili per inizializzare strutture dati prima di riempirle con valori calcolati.
Funzione zeros di NumPy
La funzione np.zeros() crea un array di zeri di una forma specificata.
# Array di zeri di dimensione 3x3
array_zeri = np.zeros((3, 3))
Funzione ones di NumPy
La funzione np.ones() funziona in modo simile a zeros, ma riempie l'array con il valore 1.
# Array di uni di dimensione 2x4
array_uni = np.ones((2, 4))
Funzione full di NumPy
La funzione np.full() permette di creare un array riempito con un valore specifico.
# Array di dimensione 3x3 riempito con il valore 7
array_full = np.full((3, 3), 7)
Funzione empty di NumPy
La funzione np.empty() crea un array senza inizializzare i valori, che possono essere qualsiasi cosa (spesso numeri casuali o residui di memoria). Questo metodo è più veloce di zeros o ones ma deve essere usato con cautela.
# Array "vuoto" di dimensione 2x2
array_vuoto = np.empty((2, 2))
NumPy fornisce anche funzioni per creare array che seguono una sequenza aritmetica o geometrica. Queste funzioni sono utili quando hai bisogno di un intervallo di numeri, come in operazioni di slicing o in iterazioni.
Funzione arange di NumPy
La funzione np.arange() crea un array con valori equidistanti all'interno di un intervallo specificato. È simile alla funzione range() di Python, ma restituisce un array di NumPy.
# Array di valori da 0 a 9
array_arange = np.arange(10)
# Array di valori da 0 a 9 con passo 2
array_arange_step = np.arange(0, 10, 2)
Funzione linspace di NumPy
La funzione np.linspace() crea un array di valori equidistanti, specificando il numero di elementi desiderati piuttosto che il passo.
# Array di 5 valori equidistanti tra 0 e 1
array_linspace = np.linspace(0, 1, 5)
Funzione logspace
Simile a linspace, np.logspace() genera numeri equidistanti, ma in scala logaritmica.
# Array di 5 valori equidistanti in scala logaritmica tra 10^1 e 10^3
array_logspace = np.logspace(1, 3, 5)
NumPy supporta la creazione di array multidimensionali, che sono fondamentali per applicazioni avanzate come l'analisi delle immagini o la manipolazione di dataset complessi.
Funzione reshape di NumPy
La funzione np.reshape() permette di cambiare la forma di un array senza alterare i suoi dati.
# Creare un array 1D e poi rimodellarlo in un array 2x2
array_1d = np.array([1, 2, 3, 4])
array_2d = array_1d.reshape((2, 2))
La creazione di array in NumPy è un processo versatile, supportato da un'ampia gamma di funzioni progettate per soddisfare le esigenze specifiche di diverse applicazioni.