Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Rimodellamento Degli Array | Funzioni NumPy Comunemente Utilizzate
Ultimate NumPy

bookRimodellamento Degli Array

Il reshaping degli array in NumPy consente di modificare la forma di un array mantenendo tutti gli elementi. Si tratta di un'operazione comunemente utilizzata nell'apprendimento automatico, poiché molte funzioni e metodi delle librerie di machine learning richiedono che gli array abbiano una forma specifica.

Forme degli array

Note
Definizione

La forma di un array NumPy è una tupla che indica il numero di elementi lungo ciascuna dimensione (asse).

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 dispongono di un metodo .reshape() per il rimodellamento. È sufficiente fornire la forma dell'array risultante come intero, tupla di interi o interi come argomenti separati.

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

Note
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
Note
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, il rimodellamento dell'array in una forma di 3 righe e 4 colonne (3x4) oppure in una forma di 2 blocchi, ciascuno contenente 2 righe e 3 colonne (2x2x3) produce comunque un totale di 12 elementi.

Rimodellamento con -1

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

L'utilizzo di .reshape(-1, 1) è particolarmente utile nell'ambito del machine learning quando è necessario rimodellare un array 1D in un array 2D con una sola colonna. In questo caso, il numero di righe corrisponde 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 viene memorizzato come 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 solo 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 occorre passare un array come primo argomento. Per il parametro shape, è possibile fornire una tupla di interi oppure 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 del primo prodotto, mentre gli ultimi 4 elementi rappresentano le vendite trimestrali del secondo prodotto.

  1. Utilizzare il metodo appropriato di sales_data_2021 per rimodellarlo in un array 2D.
  2. La prima riga deve contenere le vendite trimestrali del primo prodotto.
  3. La seconda riga deve contenere le vendite trimestrali del secondo prodotto.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

bookRimodellamento Degli Array

Scorri per mostrare il menu

Il reshaping degli array in NumPy consente di modificare la forma di un array mantenendo tutti gli elementi. Si tratta di un'operazione comunemente utilizzata nell'apprendimento automatico, poiché molte funzioni e metodi delle librerie di machine learning richiedono che gli array abbiano una forma specifica.

Forme degli array

Note
Definizione

La forma di un array NumPy è una tupla che indica il numero di elementi lungo ciascuna dimensione (asse).

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 dispongono di un metodo .reshape() per il rimodellamento. È sufficiente fornire la forma dell'array risultante come intero, tupla di interi o interi come argomenti separati.

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

Note
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
Note
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, il rimodellamento dell'array in una forma di 3 righe e 4 colonne (3x4) oppure in una forma di 2 blocchi, ciascuno contenente 2 righe e 3 colonne (2x2x3) produce comunque un totale di 12 elementi.

Rimodellamento con -1

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

L'utilizzo di .reshape(-1, 1) è particolarmente utile nell'ambito del machine learning quando è necessario rimodellare un array 1D in un array 2D con una sola colonna. In questo caso, il numero di righe corrisponde 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 viene memorizzato come 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 solo 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 occorre passare un array come primo argomento. Per il parametro shape, è possibile fornire una tupla di interi oppure 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 del primo prodotto, mentre gli ultimi 4 elementi rappresentano le vendite trimestrali del secondo prodotto.

  1. Utilizzare il metodo appropriato di sales_data_2021 per rimodellarlo in un array 2D.
  2. La prima riga deve contenere le vendite trimestrali del primo prodotto.
  3. La seconda riga deve contenere le vendite trimestrali del 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
single

single

some-alt