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.
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