Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Rimodellare Gli Array | Funzioni NumPy Comumente Usate
Numpy Definitivo

Scorri per mostrare il menu

book
Rimodellare Gli Array

Il rimodellamento degli array in NumPy ti consente di cambiare la forma di un array mantenendo tutti gli elementi. È un'operazione comunemente usata nell'apprendimento automatico poiché molte funzioni e metodi delle librerie di apprendimento automatico richiedono che gli array abbiano una forma specifica.

Forme degli Array

Ad esempio, un array 1D di lunghezza 5 ha una forma di (5,), mentre un array 2D con 3 righe e 4 colonne ha una forma di (3, 4):

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

Gli array NumPy hanno un metodo .reshape() per il rimodellamento. È sufficiente passare la forma dell'array risultante come intero, una tupla di interi, o interi come argomenti separati.

Questo metodo non modifica l'array in loco, ma restituisce un nuovo array.

Nota

In realtà, .reshape() restituisce una vista dell'array originale, quindi qualsiasi modifica apportata all'array rimodellato influenzerà anche l'array originale.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy

Nota

Il numero di elementi nell'array rimodellato deve essere lo stesso dell'array originale, quindi non è possibile passare una forma arbitraria.

Nel nostro esempio, rimodellare l'array in una forma di 3 righe e 4 colonne (3 x 4) o in una forma di 2 blocchi, ciascuno contenente 2 righe e 3 colonne (2 x 2 x 3) risulta comunque in un totale di 12 elementi.

Rimodellare con -1

In NumPy, quando si utilizza -1 nel metodo .reshape(), calcola automaticamente la dimensione di quella dimensione in base alla dimensione dell'array originale, mantenendo lo stesso numero totale di elementi.

Utilizzare .reshape(-1, 1) è particolarmente utile nel machine learning quando abbiamo bisogno di rimodellare un array 1D in un array 2D con una colonna. Il numero di righe in questo caso è uguale al numero di elementi (calcolato automaticamente).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

L'array rimodellato è memorizzato come un array 2D con 5 righe e 1 colonna, avente la forma (5, 1). Al contrario, l'array 1D iniziale ha la forma (5,), che è una tupla con un singolo elemento. Per qualsiasi array 1D, la forma è sempre (n,), dove n rappresenta il numero di elementi.

numpy.reshape()

La funzione reshape() in NumPy è identica al metodo .reshape(), ma si dovrebbe passare un array come primo argomento. Per il parametro shape, si può passare una tupla di interi o un singolo intero, ad esempio, np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Compito

Swipe to start coding

Hai un array sales_data_2021 con dati di vendita trimestrali simulati per due prodotti nel 2021. I primi 4 elementi rappresentano le vendite trimestrali per il primo prodotto, e gli ultimi 4 elementi rappresentano le vendite trimestrali per il secondo prodotto.

  1. Usa il metodo appropriato di sales_data_2021 per rimodellarlo in un array 2D.

  2. La prima riga dovrebbe contenere le vendite trimestrali per il primo prodotto.

  3. La seconda riga dovrebbe contenere le vendite trimestrali per il secondo prodotto.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Rimodellare Gli Array

Il rimodellamento degli array in NumPy ti consente di cambiare la forma di un array mantenendo tutti gli elementi. È un'operazione comunemente usata nell'apprendimento automatico poiché molte funzioni e metodi delle librerie di apprendimento automatico richiedono che gli array abbiano una forma specifica.

Forme degli Array

Ad esempio, un array 1D di lunghezza 5 ha una forma di (5,), mentre un array 2D con 3 righe e 4 colonne ha una forma di (3, 4):

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

Gli array NumPy hanno un metodo .reshape() per il rimodellamento. È sufficiente passare la forma dell'array risultante come intero, una tupla di interi, o interi come argomenti separati.

Questo metodo non modifica l'array in loco, ma restituisce un nuovo array.

Nota

In realtà, .reshape() restituisce una vista dell'array originale, quindi qualsiasi modifica apportata all'array rimodellato influenzerà anche l'array originale.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy

Nota

Il numero di elementi nell'array rimodellato deve essere lo stesso dell'array originale, quindi non è possibile passare una forma arbitraria.

Nel nostro esempio, rimodellare l'array in una forma di 3 righe e 4 colonne (3 x 4) o in una forma di 2 blocchi, ciascuno contenente 2 righe e 3 colonne (2 x 2 x 3) risulta comunque in un totale di 12 elementi.

Rimodellare con -1

In NumPy, quando si utilizza -1 nel metodo .reshape(), calcola automaticamente la dimensione di quella dimensione in base alla dimensione dell'array originale, mantenendo lo stesso numero totale di elementi.

Utilizzare .reshape(-1, 1) è particolarmente utile nel machine learning quando abbiamo bisogno di rimodellare un array 1D in un array 2D con una colonna. Il numero di righe in questo caso è uguale al numero di elementi (calcolato automaticamente).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

L'array rimodellato è memorizzato come un array 2D con 5 righe e 1 colonna, avente la forma (5, 1). Al contrario, l'array 1D iniziale ha la forma (5,), che è una tupla con un singolo elemento. Per qualsiasi array 1D, la forma è sempre (n,), dove n rappresenta il numero di elementi.

numpy.reshape()

La funzione reshape() in NumPy è identica al metodo .reshape(), ma si dovrebbe passare un array come primo argomento. Per il parametro shape, si può passare una tupla di interi o un singolo intero, ad esempio, np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Compito

Swipe to start coding

Hai un array sales_data_2021 con dati di vendita trimestrali simulati per due prodotti nel 2021. I primi 4 elementi rappresentano le vendite trimestrali per il primo prodotto, e gli ultimi 4 elementi rappresentano le vendite trimestrali per il secondo prodotto.

  1. Usa il metodo appropriato di sales_data_2021 per rimodellarlo in un array 2D.

  2. La prima riga dovrebbe contenere le vendite trimestrali per il primo prodotto.

  3. La seconda riga dovrebbe contenere le vendite trimestrali per il secondo prodotto.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt