Restructuration des Tableaux
Le remodelage de tableaux dans NumPy permet de modifier la forme d’un tableau tout en préservant l’ensemble de ses éléments. Il s’agit d’une opération couramment utilisée en apprentissage automatique, car de nombreuses fonctions et méthodes des bibliothèques de machine learning exigent que les tableaux aient une forme spécifique.
Formes des tableaux
La forme d’un tableau NumPy est un tuple indiquant le nombre d’éléments selon chaque dimension (axe).
Par exemple, un tableau 1D de longueur 5 a une forme de (5,), tandis qu’un tableau 2D avec 3 lignes et 4 colonnes a une forme de (3, 4) :
1234import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
ndarray.reshape()
Les tableaux NumPy possèdent une méthode .reshape() pour le changement de forme. Il suffit de fournir la forme du tableau résultant, soit comme entier, soit comme tuple d'entiers, ou comme entiers séparés.
Cette méthode ne modifie pas le tableau en place, mais retourne un nouveau tableau.
En réalité, .reshape() retourne une vue du tableau d'origine, ainsi toute modification apportée au tableau remodelé affectera également le tableau d'origine.
123456789import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
Le nombre d’éléments dans le tableau remodelé doit être identique à celui du tableau d’origine, il n’est donc pas possible de passer une forme arbitraire.
Dans notre exemple, le remodelage du tableau en une forme de 3 lignes et 4 colonnes (3x4) ou en une forme de 2 blocs, chacun contenant 2 lignes et 3 colonnes (2x2x3) donne toujours un total de 12 éléments.
Remodelage avec -1
Dans NumPy, lorsque vous utilisez -1 dans la méthode .reshape(), il calcule automatiquement la taille de cette dimension en fonction de la taille du tableau d'origine, tout en conservant le même nombre total d'éléments.
L'utilisation de .reshape(-1, 1) est particulièrement utile en apprentissage automatique lorsque l'on doit remodeler un tableau 1D en un tableau 2D avec une colonne. Le nombre de lignes dans ce cas est égal au nombre d'éléments (calculé automatiquement).
123456import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
Le tableau redimensionné est stocké sous forme de tableau 2D avec 5 lignes et 1 colonne, ayant la forme (5, 1). En revanche, le tableau 1D initial a la forme (5,), qui est un tuple à un seul élément. Pour tout tableau 1D, la forme est toujours (n,), où n représente le nombre d’éléments.
numpy.reshape()
La fonction reshape() dans NumPy est identique à la méthode .reshape(), mais vous devez passer un tableau comme premier argument. Pour le paramètre shape, vous pouvez passer soit un tuple d'entiers soit un entier unique, par exemple : np.reshape(array, (3, 4)) :
123456import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
Swipe to start coding
Vous disposez d'un tableau sales_data_2021 contenant des données de ventes trimestrielles simulées pour deux produits en 2021. Les 4 premiers éléments représentent les ventes trimestrielles du premier produit, et les 4 derniers éléments représentent les ventes trimestrielles du second produit.
- Utiliser la méthode appropriée de
sales_data_2021pour le transformer en un tableau 2D. - La première ligne doit contenir les ventes trimestrielles du premier produit.
- La seconde ligne doit contenir les ventes trimestrielles du second produit.
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
Can you explain the difference between using .reshape() and np.reshape()?
What happens if I try to reshape an array to a shape that doesn't match the total number of elements?
Can you give more examples of reshaping arrays with different dimensions?
Awesome!
Completion rate improved to 3.7
Restructuration des Tableaux
Glissez pour afficher le menu
Le remodelage de tableaux dans NumPy permet de modifier la forme d’un tableau tout en préservant l’ensemble de ses éléments. Il s’agit d’une opération couramment utilisée en apprentissage automatique, car de nombreuses fonctions et méthodes des bibliothèques de machine learning exigent que les tableaux aient une forme spécifique.
Formes des tableaux
La forme d’un tableau NumPy est un tuple indiquant le nombre d’éléments selon chaque dimension (axe).
Par exemple, un tableau 1D de longueur 5 a une forme de (5,), tandis qu’un tableau 2D avec 3 lignes et 4 colonnes a une forme de (3, 4) :
1234import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
ndarray.reshape()
Les tableaux NumPy possèdent une méthode .reshape() pour le changement de forme. Il suffit de fournir la forme du tableau résultant, soit comme entier, soit comme tuple d'entiers, ou comme entiers séparés.
Cette méthode ne modifie pas le tableau en place, mais retourne un nouveau tableau.
En réalité, .reshape() retourne une vue du tableau d'origine, ainsi toute modification apportée au tableau remodelé affectera également le tableau d'origine.
123456789import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
Le nombre d’éléments dans le tableau remodelé doit être identique à celui du tableau d’origine, il n’est donc pas possible de passer une forme arbitraire.
Dans notre exemple, le remodelage du tableau en une forme de 3 lignes et 4 colonnes (3x4) ou en une forme de 2 blocs, chacun contenant 2 lignes et 3 colonnes (2x2x3) donne toujours un total de 12 éléments.
Remodelage avec -1
Dans NumPy, lorsque vous utilisez -1 dans la méthode .reshape(), il calcule automatiquement la taille de cette dimension en fonction de la taille du tableau d'origine, tout en conservant le même nombre total d'éléments.
L'utilisation de .reshape(-1, 1) est particulièrement utile en apprentissage automatique lorsque l'on doit remodeler un tableau 1D en un tableau 2D avec une colonne. Le nombre de lignes dans ce cas est égal au nombre d'éléments (calculé automatiquement).
123456import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
Le tableau redimensionné est stocké sous forme de tableau 2D avec 5 lignes et 1 colonne, ayant la forme (5, 1). En revanche, le tableau 1D initial a la forme (5,), qui est un tuple à un seul élément. Pour tout tableau 1D, la forme est toujours (n,), où n représente le nombre d’éléments.
numpy.reshape()
La fonction reshape() dans NumPy est identique à la méthode .reshape(), mais vous devez passer un tableau comme premier argument. Pour le paramètre shape, vous pouvez passer soit un tuple d'entiers soit un entier unique, par exemple : np.reshape(array, (3, 4)) :
123456import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
Swipe to start coding
Vous disposez d'un tableau sales_data_2021 contenant des données de ventes trimestrielles simulées pour deux produits en 2021. Les 4 premiers éléments représentent les ventes trimestrielles du premier produit, et les 4 derniers éléments représentent les ventes trimestrielles du second produit.
- Utiliser la méthode appropriée de
sales_data_2021pour le transformer en un tableau 2D. - La première ligne doit contenir les ventes trimestrielles du premier produit.
- La seconde ligne doit contenir les ventes trimestrielles du second produit.
Solution
Merci pour vos commentaires !
single