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