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

bookAplatissement 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 le traitement des éléments d’un tableau un par un est nécessaire ou pour rendre les données plus adaptées à certains algorithmes.

Il existe trois options possibles pour aplatir un tableau dans NumPy :

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

reshape(-1)

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

Comme mentionné dans le chapitre précédent, -1 calcule automatiquement la taille de la dimension en fonction de la taille du tableau d’origine. Puisqu’un seul entier est passé pour shape, un tableau 1D avec le même nombre d’éléments est retourné.

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 correspondante retourne une vue du tableau original, ainsi toute modification apportée au tableau remodelé affectera également le tableau d'origine.

L'utilisation de flattened_array = np.reshape(array_2d, -1) peut être employée à la place de l'appel à 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 retourne é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 de l'appel à la méthode.

ndarray.flatten()

Si une copie du tableau original, et non une vue, est nécessaire, la méthode .flatten() peut être utilisée :

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
Note
Remarque

Vous pouvez toujours copier une vue d’un tableau pour créer un objet distinct et modifier cette copie sans affecter le tableau d’origine.

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, et non une vue, puis assignez la valeur 100 à son premier élément (utilisez un index positif).

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

What is the difference between a view and a copy in NumPy?

When should I use flatten() instead of reshape(-1) or ravel()?

Can you explain what happens if I modify the flattened array in each case?

close

Awesome!

Completion rate improved to 3.7

bookAplatissement des Tableaux

Glissez pour afficher le menu

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 le traitement des éléments d’un tableau un par un est nécessaire ou pour rendre les données plus adaptées à certains algorithmes.

Il existe trois options possibles pour aplatir un tableau dans NumPy :

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

reshape(-1)

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

Comme mentionné dans le chapitre précédent, -1 calcule automatiquement la taille de la dimension en fonction de la taille du tableau d’origine. Puisqu’un seul entier est passé pour shape, un tableau 1D avec le même nombre d’éléments est retourné.

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 correspondante retourne une vue du tableau original, ainsi toute modification apportée au tableau remodelé affectera également le tableau d'origine.

L'utilisation de flattened_array = np.reshape(array_2d, -1) peut être employée à la place de l'appel à 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 retourne é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 de l'appel à la méthode.

ndarray.flatten()

Si une copie du tableau original, et non une vue, est nécessaire, la méthode .flatten() peut être utilisée :

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
Note
Remarque

Vous pouvez toujours copier une vue d’un tableau pour créer un objet distinct et modifier cette copie sans affecter le tableau d’origine.

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, et non une vue, puis assignez la valeur 100 à son premier élément (utilisez un index positif).

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
single

single

some-alt