📢 Nuovo Corso Laravel API disponibile!

Reshape Array in NumPy

La funzione reshape in NumPy è un metodo utilizzato per modificare la forma di un array esistente senza cambiarne i dati. Questa operazione è utile quando si desidera adattare l’array a un nuovo schema dimensionale o quando si vuole “appiattire” un array multidimensionale per convertirlo in un array monodimensionale. In questo articolo, esploreremo cosa è la funzione reshape, come utilizzarla per cambiare la forma degli array da e verso diverse dimensioni e forniremo un esempio di reshape da un array monodimensionale a uno tridimensionale.

Cos’è reshape in NumPy?

La funzione reshape è un metodo in NumPy che consente di cambiare la forma di un array esistente in una nuova forma specificata. La nuova forma deve avere lo stesso numero totale di elementi dell’array originale, poiché i dati dell’array rimangono invariati.

Cambiare la Forma da e verso Diverse Dimensioni

La funzione reshape può essere utilizzata per cambiare la forma di un array da una dimensione a un’altra. Ad esempio, è possibile trasformare un array monodimensionale in un array bidimensionale o tridimensionale.

Da Monodimensionale a Bidimensionale

import numpy as np
# Creazione di un array monodimensionale
arr = np.array([1, 2, 3, 4, 5, 6])
# Reshape in un array bidimensionale (2x3)
reshaped_arr = arr.reshape(2, 3)
print(reshaped_arr)
# Restituisce:
# [[1 2 3]
# [4 5 6]]

Da Monodimensionale a Tridimensionale

import numpy as np
# Creazione di un array monodimensionale
arr = np.array([1, 2, 3, 4, 5, 6])
# Reshape in un array tridimensionale (2x3x1)
reshaped_arr = arr.reshape(2, 3, 1)
print(reshaped_arr)
# Restituisce:
# [[[1]
# [2]
# [3]]
#
# [[4]
# [5]
# [6]]]

Da Bidimensionale a Monodimensionale (Appiattimento)

import numpy as np
# Creazione di un array bidimensionale
arr = np.array([[1, 2, 3], [4, 5, 6]])
# Reshape in un array monodimensionale
flattened_arr = arr.reshape(-1)
print(flattened_arr) # Restituisce [1 2 3 4 5 6]

Notare l’uso di -1 nell’operazione di appiattimento; NumPy calcolerà automaticamente la dimensione appropriata per l’asse specifico.

La funzione reshape è una potente operazione per la manipolazione delle dimensioni degli array in NumPy, consentendo di adattare gli array ai requisiti specifici delle applicazioni.