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 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 fonctionnumpy.reshape(array, -1); - Utilisation de la méthode
ndarray.ravel()ou de la fonctionnumpy.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é.
1234567import 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}')
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 :
1234567import 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}')
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 :
1234567import 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}')
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.
Swipe to start coding
- Utilisez correctement la méthode
.flatten()pour aplatirexam_scoreset stockez le résultat dansexam_scores_flattened. - Utilisez correctement la méthode
.reshape()pour aplatirexam_scoreset stockez le résultat dansexam_scores_reshaped. - Utilisez la méthode
.ravel()pour aplatirexam_scoreset stockez le résultat dansexam_scores_raveled. - 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
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
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?
Awesome!
Completion rate improved to 3.7
Aplatissement 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 fonctionnumpy.reshape(array, -1); - Utilisation de la méthode
ndarray.ravel()ou de la fonctionnumpy.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é.
1234567import 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}')
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 :
1234567import 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}')
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 :
1234567import 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}')
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.
Swipe to start coding
- Utilisez correctement la méthode
.flatten()pour aplatirexam_scoreset stockez le résultat dansexam_scores_flattened. - Utilisez correctement la méthode
.reshape()pour aplatirexam_scoreset stockez le résultat dansexam_scores_reshaped. - Utilisez la méthode
.ravel()pour aplatirexam_scoreset stockez le résultat dansexam_scores_raveled. - 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
Merci pour vos commentaires !
single