Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Aplatissement des Tableaux | Fonctions NumPy Couramment Utilisées
Numpy Ultime
course content

Contenu du cours

Numpy Ultime

Numpy Ultime

1. Bases de NumPy
2. Indexation et Découpage
3. Fonctions NumPy Couramment Utilisées
4. Math avec NumPy

book
Aplatissement des Tableaux

Aplatir un tableau signifie le convertir d'un tableau multidimensionnel en un tableau 1D, déroulant essentiellement son contenu.

Cette opération est utile lorsque vous devez traiter les éléments d'un tableau un par un ou lorsque vous souhaitez rendre les données plus adaptées à certains algorithmes.

Il existe trois options possibles pour aplatir dans NumPy :

  • Utiliser la méthode ndarray.reshape(-1) ou la fonction numpy.reshape(array, -1) ;
  • Utiliser la méthode ndarray.ravel() ou la fonction numpy.ravel(array) ;
  • Utiliser la méthode ndarray.flatten().

reshape(-1)

La méthode .reshape(-1) ou la fonction reshape(array, -1) renverra un tableau aplati contigu avec le même nombre d'éléments.

Comme nous l'avons déjà mentionné dans le chapitre précédent, -1 calcule automatiquement la taille de la dimension en fonction de la taille du tableau d'origine. Puisque nous passons seulement un entier pour shape, un tableau 1D avec le même nombre d'éléments est renvoyé.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

La méthode .reshape() ou la fonction respective renvoie une vue du tableau original, donc toute modification apportée au tableau redimensionné affectera également le tableau original.

Utiliser flattened_array = np.reshape(array_2d, -1) peut être utilisé au lieu d'appeler la méthode.

ravel()

La méthode ndarray.ravel() ou la fonction numpy.ravel(array) fonctionne de la même manière que reshape(-1) et renvoie également une vue du tableau original :

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) peut être utilisé à la place d'appeler la méthode.

ndarray.flatten()

Si vous souhaitez une copie du tableau original, et non une vue, vous pouvez utiliser la méthode .flatten() :

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy

Remarque

Vous pouvez toujours copier une vue d'un tableau pour créer un objet séparé et modifier cette copie sans affecter le tableau original.

Tâche

Swipe to start coding

  1. Utilisez correctement la méthode .flatten() pour aplatir exam_scores et stockez le résultat dans exam_scores_flattened.

  2. Utilisez correctement la méthode .reshape() pour aplatir exam_scores et stockez le résultat dans exam_scores_reshaped.

  3. Utilisez la méthode .ravel() pour aplatir exam_scores et stockez le résultat dans exam_scores_raveled.

  4. Parmi les trois tableaux aplatis créés, choisissez celui qui est une copie du tableau original, pas une vue, et assignez 100 à son premier élément (utilisez l'indexation positive).

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
toggle bottom row

book
Aplatissement des Tableaux

Aplatir un tableau signifie le convertir d'un tableau multidimensionnel en un tableau 1D, déroulant essentiellement son contenu.

Cette opération est utile lorsque vous devez traiter les éléments d'un tableau un par un ou lorsque vous souhaitez rendre les données plus adaptées à certains algorithmes.

Il existe trois options possibles pour aplatir dans NumPy :

  • Utiliser la méthode ndarray.reshape(-1) ou la fonction numpy.reshape(array, -1) ;
  • Utiliser la méthode ndarray.ravel() ou la fonction numpy.ravel(array) ;
  • Utiliser la méthode ndarray.flatten().

reshape(-1)

La méthode .reshape(-1) ou la fonction reshape(array, -1) renverra un tableau aplati contigu avec le même nombre d'éléments.

Comme nous l'avons déjà mentionné dans le chapitre précédent, -1 calcule automatiquement la taille de la dimension en fonction de la taille du tableau d'origine. Puisque nous passons seulement un entier pour shape, un tableau 1D avec le même nombre d'éléments est renvoyé.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

La méthode .reshape() ou la fonction respective renvoie une vue du tableau original, donc toute modification apportée au tableau redimensionné affectera également le tableau original.

Utiliser flattened_array = np.reshape(array_2d, -1) peut être utilisé au lieu d'appeler la méthode.

ravel()

La méthode ndarray.ravel() ou la fonction numpy.ravel(array) fonctionne de la même manière que reshape(-1) et renvoie également une vue du tableau original :

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) peut être utilisé à la place d'appeler la méthode.

ndarray.flatten()

Si vous souhaitez une copie du tableau original, et non une vue, vous pouvez utiliser la méthode .flatten() :

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy

Remarque

Vous pouvez toujours copier une vue d'un tableau pour créer un objet séparé et modifier cette copie sans affecter le tableau original.

Tâche

Swipe to start coding

  1. Utilisez correctement la méthode .flatten() pour aplatir exam_scores et stockez le résultat dans exam_scores_flattened.

  2. Utilisez correctement la méthode .reshape() pour aplatir exam_scores et stockez le résultat dans exam_scores_reshaped.

  3. Utilisez la méthode .ravel() pour aplatir exam_scores et stockez le résultat dans exam_scores_raveled.

  4. Parmi les trois tableaux aplatis créés, choisissez celui qui est une copie du tableau original, pas une vue, et assignez 100 à son premier élément (utilisez l'indexation positive).

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt