1. Description de la méthode numpy.reshape()
La méthode numpy.reshape() est une fonction fournie par la bibliothèque NumPy, largement utilisée pour le calcul numérique en Python. Cette méthode permet de modifier la forme (ou le dimensionnement) d'un tableau (array) NumPy existant sans changer les données qu'il contient. Elle retourne une nouvelle vue du tableau avec les dimensions spécifiées.
2. Syntaxe et usages de la méthode numpy.reshape()
La syntaxe générale de la méthode numpy.reshape() est la suivante :
1 |
numpy.reshape(a, newshape, order='C') |
où :
- a : le tableau NumPy que vous souhaitez remodeler.
- newshape : un tuple ou une liste indiquant la nouvelle forme que vous souhaitez donner au tableau. Les éléments de newshape définissent les dimensions que le tableau doit avoir après le remodelage.
- order (facultatif) : spécifie l'ordre dans lequel les données sont lues dans le tableau. Les valeurs possibles sont 'C' pour un ordre en C (par défaut, lecture ligne par ligne) et 'F' pour un ordre en Fortran (lecture colonne par colonne).
Remarque
Notez bien que la méthode numpy.reshape() ne modifie pas le tableau d'origine, mais retourne un nouveau tableau qui partage les mêmes données que l'original. Cela signifie que si vous modifiez les données dans l'un des tableaux, cela affectera également l'autre.
3. Exemple d'usage de la méthode numpy.reshape()
Voici quelques exemple qui illustrent l'usage de la méthode numpy.reshape() :
Exemple (transformer un tableau du type 1x12 en un autre de type 2x6)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
""" Dans cet exemple, le tableau unidimensionnel arr est remodelé en une matrice 2x6 à l'aide de np.reshape() """ import numpy as np # Créer un tableau 1D avec 12 éléments arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) # Remodeler le tableau en une matrice 2x6 reshaped_arr = np.reshape(arr, (2, 6)) print(reshaped_arr) """ output: [[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]] """ |
Exemple (tableau à deux dimensions transformé en un tableau à une dimension)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
""" une matrice 3x4 est remodelée en un tableau 1D en utilisant np.reshape(). Le résultat sera un tableau contenant tous les éléments de la matrice, mais cette fois-ci, présentés dans un seul tableau unidimensionnel. """ import numpy as np # Créer une matrice 3x4 matrix = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) # Remodeler la matrice en un tableau 1D reshaped_matrix = np.reshape(matrix, (matrix.size,)) print(reshaped_matrix) """ output: [ 1 2 3 4 5 6 7 8 9 10 11 12] Après avoir appliqué la méthode numpy.reshape() pour convertir la matrice 3x4 en un tableau 1D, tous les éléments de la matrice sont placés dans un seul tableau unidimensionnel, comme illustré dans la sortie ci-dessus. """ |
Younes Derfoufi
CRMEF OUJDA