Convertir un tableau 3D en tableau 2D en Python

Muhammad Maisam Abbas 12 avril 2021
Convertir un tableau 3D en tableau 2D en Python

Dans ce didacticiel, nous aborderons la conversion d’un tableau 3D en tableau 2D en Python.

Convertir un tableau 3D en un tableau 2D avec la fonction numpy.reshape() en Python

La fonction numpy.reshape() change la forme d’un tableau sans changer ses données. numpy.reshape() renvoie un tableau avec les dimensions spécifiées. Par exemple, si nous avons un tableau 3D de dimensions (4, 2, 2) et que nous voulons le convertir en un tableau 2D de dimensions (4, 4).

L’exemple de code suivant nous montre comment utiliser la fonction numpy.reshape() pour convertir un tableau 3D de dimensions (4, 2, 2) en un tableau 2D de dimensions (4, 4) en 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)

Production:

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

Dans le code ci-dessus, on initialise d’abord un tableau 3D arr en utilisant la fonction numpy.array() puis on le convertit en un tableau 2D newarr avec la fonction numpy.reshape().

L’exemple de code suivant montre une autre façon de faire la même chose si, pour une raison quelconque, nous ne connaissons pas les dimensions exactes du tableau 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)

Production:

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

Dans le code ci-dessus, nous utilisons la fonction numpy.shape() pour spécifier les dimensions du newarr. La fonction numpy.shape() renvoie un tuple qui contient le nombre d’éléments dans chaque dimension d’un tableau.

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

Article connexe - NumPy Array