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 est nécessaire, et non une vue, 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

Il est toujours possible de 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. Utiliser correctement la méthode .flatten() pour aplatir exam_scores et stocker le résultat dans exam_scores_flattened.
  2. Utiliser correctement la méthode .reshape() pour aplatir exam_scores et stocker le résultat dans exam_scores_reshaped.
  3. Utiliser la méthode .ravel() pour aplatir exam_scores et stocker le résultat dans exam_scores_raveled.
  4. Parmi les trois tableaux aplatis créés, choisir celui qui est une copie du tableau original, et non une vue, puis attribuer la valeur 100 à son premier élément (utiliser 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 est nécessaire, et non une vue, 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

Il est toujours possible de 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. Utiliser correctement la méthode .flatten() pour aplatir exam_scores et stocker le résultat dans exam_scores_flattened.
  2. Utiliser correctement la méthode .reshape() pour aplatir exam_scores et stocker le résultat dans exam_scores_reshaped.
  3. Utiliser la méthode .ravel() pour aplatir exam_scores et stocker le résultat dans exam_scores_raveled.
  4. Parmi les trois tableaux aplatis créés, choisir celui qui est une copie du tableau original, et non une vue, puis attribuer la valeur 100 à son premier élément (utiliser 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