Scienza dei dati

Come usare la funzione Python NumPy reshape()

Come usare la funzione Python NumPy reshape()

La libreria NumPy ha molte funzioni per lavorare con l'array multidimensionale. La funzione reshape() è una di quelle che viene utilizzata per modificare la forma di qualsiasi array esistente senza modificare i dati. La forma definisce il numero totale di elementi in ogni dimensione.  La dimensione dell'array può essere aggiunta o rimossa e il numero di elementi in ciascuna dimensione può essere modificato utilizzando la funzione reshape(). L'array unidimensionale può essere convertito in un array multidimensionale, ma l'array multidimensionale non può essere convertito in un array unidimensionale da questa funzione. Come funziona la funzione Reshape() e i suoi usi sono spiegati in questo tutorial.

Sintassi

La sintassi della funzione reshape() è riportata di seguito.

np_array numpy.reshape(np_array, new_shape, order='C') 

Questa funzione può accettare tre argomenti. Il primo e il secondo argomento sono obbligatori e il terzo argomento è facoltativo. Un array NumPy è il valore del primo argomento (np_array) che sarà rimodellato. La forma dell'array è impostata come secondo argomento (nuova_forma) valore che può essere un intero o una tupla di interi. L'ordine dell'array è impostato dal terzo argomento (ordine) valore utilizzato per definire la posizione dell'elemento dell'array rimodellato. Il valore del terzo argomento può essere 'C' o 'F' o 'UN.'Il valore dell'ordine'C' viene utilizzato per l'ordinamento dell'indice in stile C in cui l'indice dell'ultimo asse cambia più velocemente e l'indice del primo asse cambia più lentamente. Il valore dell'ordine 'F' viene utilizzato per l'ordinamento dell'indice in stile Fortran in cui l'indice del primo asse cambia più velocemente e l'indice dell'ultimo asse cambia più lentamente. Tutti e due 'C' e 'F'Gli ordini non usano la memoria. Il valore dell'ordine, 'UN'funziona come'F,' ma usa la memoria.

Uso della funzione Reshape():

Devi installare la libreria NumPy prima di fare pratica con gli esempi di questo tutorial. Diversi usi della funzione reshape() sono stati mostrati nella parte di questo tutorial.

Esempio 1: convertire un array unidimensionale in un array bidimensionale

L'esempio seguente mostra la funzione reshape() per convertire un array NumPy unidimensionale in un array NumPy bidimensionale. La funzione arange() viene utilizzata nello script per creare un array unidimensionale di 10 elementi. La prima funzione reshape() viene utilizzata per convertire l'array unidimensionale nell'array bidimensionale di 2 righe e 5 colonne. Qui, la funzione reshape() viene chiamata usando il nome del modulo, np. La seconda funzione reshape() viene utilizzata per convertire l'array unidimensionale nell'array bidimensionale di 5 righe e 2 colonne. Qui, la funzione reshape() viene chiamata utilizzando l'array NumPy denominato np_array.

# Importa NumPy
importa numpy come np
# Crea un array NumPy di ​​valori di intervallo
np_array = np.arrangiare(10)
#  Stampa i valori dell'array NumPy
print("I valori dell'array NumPy: \n", np_array)
# Rimodellare l'array con 2 righe e 5 colonne
nuovo_array = np.rimodellare(np_array, (2, 5))
# Stampa i valori rimodellati
print("\nL'array rimodellato con 2 righe e 5 colonne: \n", new_array)
# Rimodellare l'array con 5 righe e 2 colonne
new_array = np_array.rimodellare(5, 2)
# Stampa i valori rimodellati
print("\nL'array rimodellato con 5 righe e 2 colonne: \n", new_array)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Il primo output mostra l'array principale. Il secondo e il terzo output mostrano l'array rimodellato.

Esempio 2: convertire un array unidimensionale in un array tridimensionale

L'esempio seguente mostra la funzione reshape() per convertire un array NumPy unidimensionale in un array NumPy tridimensionale. La funzione array() viene utilizzata nello script per creare un array unidimensionale di 12 elementi. La funzione reshape() viene utilizzata per convertire l'array unidimensionale creato nell'array tridimensionale. Qui, la funzione reshape() viene chiamata utilizzando l'array NumPy denominato np_array.

# Importa NumPy
importa numpy come np
# Crea un array NumPy usando list
np_array = np.matrice([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
#  Stampa i valori dell'array NumPy
print("I valori dell'array NumPy: \n", np_array)
# Crea un array tridimensionale da un array unidimensionale
new_array = np_array.rimodellare(2, 2, 3)
# Stampa i valori rimodellati
print("\nI valori dell'array 3D rimodellato sono: \n", new_array)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Il primo output mostra l'array principale. Il secondo output mostra l'array rimodellato.

Esempio 3: rimodellare l'array NumPy in base all'ordinamento

L'esempio seguente mostra la funzione reshape() per convertire un array NumPy unidimensionale in un array NumPy bidimensionale con diversi tipi di ordini. La funzione arange() viene utilizzata nello script per creare un array unidimensionale di 15 elementi. La prima funzione reshape() viene utilizzata per creare un array bidimensionale di 3 righe e 5 colonne con ordinamento in stile C. La seconda funzione reshape() viene utilizzata per creare un array bidimensionale di 3 righe e 5 colonne con ordinamento in stile Fortran.

# Importa NumPy
importa numpy come np
# Crea un array NumPy di ​​valori di intervallo
np_array = np.arrangiare(15)
#  Stampa i valori dell'array NumPy
print("I valori dell'array NumPy: \n", np_array)
# Rimodella l'array in base all'ordinamento in stile C
new_array1 = np.reshape(np_array, (3, 5), order='C')
# Stampa i valori rimodellati
print("\nI valori dell'array 2D rimodellati basati sull'ordinamento in stile C sono: \n", new_array1)
# Rimodellare l'array in base all'ordinamento in stile Fortran
new_array2 = np.reshape(np_array, (3, 5), order='F')
# Stampa i valori rimodellati
print("\nI valori dell'array 2D rimodellati basati sull'ordinamento in stile Fortran sono: \n", new_array2)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Il primo output mostra l'array principale di valori. Il secondo output mostra i valori dell'array con ordinamento basato su righe. Il terzo output mostra i valori dell'array con ordinamento basato su colonne.

Conclusione

I modi per convertire l'array da una forma a un'altra forma utilizzando la funzione reshape() sono stati descritti in questo tutorial. Lo scopo dell'utilizzo della funzione reshape() verrà chiarito dopo aver praticato gli esempi di questo tutorial e i lettori saranno in grado di utilizzare questa funzione nel loro script Python.

Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...
Recensione del mouse wireless Microsoft Sculpt Touch
Ho letto di recente del Microsoft Scolpisci il tocco mouse wireless e ho deciso di acquistarlo. Dopo averlo usato per un po', ho deciso di condividere...
Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...