Converter array 3D em array 2D em Python

Muhammad Maisam Abbas 12 abril 2022
Converter array 3D em array 2D em Python

Neste tutorial, discutiremos a conversão de un array 3D em un array 2D em Python.

Converter un array 3D em un array 2D com a função numpy.reshape() em Python

A função numpy.reshape() ([numpy.reshape - Manual do NumPy v1.20]) muda a forma de um array sem alterar seus dados. numpy.reshape() retorna un array com as dimensões especificadas. Por exemplo, se tivermos un array 3D com dimensões (4, 2, 2) e quisermos convertê-la em un array 2D com dimensões (4, 4).

O exemplo de código a seguir nos mostra como podemos usar a função numpy.reshape() para converter un array 3D com dimensões (4, 2, 2) em un array 2D com dimensões (4, 4) em 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)

Resultado:

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

No código acima, primeiro inicializamos um array 3D arr usando a função numpy.array() e então o convertemos em um array 2D newarr com a função numpy.reshape().

O exemplo de código a seguir mostra outra maneira de fazer a mesma coisa se, por algum motivo, não sabemos as dimensões exatas do 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)

Resultado:

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

No código acima, usamos a função numpy.shape() para especificar as dimensões da newarr. A função numpy.shape() retorna uma tupla que contém o número de elementos em cada dimensão de um 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

Artigo relacionado - NumPy Array