Converti array 3D in array 2D in Python

Muhammad Maisam Abbas 12 aprile 2021
Converti array 3D in array 2D in Python

In questo tutorial, discuteremo della conversione di un array 3D in un array 2D in Python.

Converti un array 3D in un array 2D con la funzione numpy.reshape() in Python

La funzione numpy.reshape() cambia la forma di un array senza cambiarne i dati. numpy.reshape() restituisce un array con le dimensioni specificate. Ad esempio, se abbiamo un array 3D con dimensioni (4, 2, 2) e vogliamo convertirlo in un array 2D con dimensioni (4, 4).

Il seguente esempio di codice ci mostra come possiamo usare la funzione numpy.reshape() per convertire un array 3D con dimensioni (4, 2, 2) in un array 2D con dimensioni (4, 4) in Python.

import numpy

arr = numpy.array(
    [[[0, 1], [2, 3]], [[4, 5], [6, 7]], [[8, 9], [10, 11]], [[12, 13], [14, 15]]]
)
newarr = arr.reshape(4, 2 * 2)
print(newarr)

Produzione:

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

Nel codice sopra, inizializziamo prima un array 3D arr usando la funzione numpy.array() e poi lo convertiamo in un array 2D newarr con la funzione numpy.reshape().

Il seguente esempio di codice mostra un altro modo di fare la stessa cosa se, per qualche motivo, non conosciamo le dimensioni esatte dell’array 3D.

import numpy

arr = numpy.array(
    [[[0, 1], [2, 3]], [[4, 5], [6, 7]], [[8, 9], [10, 11]], [[12, 13], [14, 15]]]
)
newarr = arr.reshape(arr.shape[0], (arr.shape[1] * arr.shape[2]))
print(newarr)

Produzione:

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

Nel codice sopra, usiamo la funzione numpy.shape() per specificare le dimensioni di newarr. La funzione numpy.shape() restituisce una tupla che contiene il numero di elementi in ciascuna dimensione di un array.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - NumPy Array