Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Restructuration 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
Restructuration des Tableaux

Le remodelage des tableaux dans NumPy vous permet de changer la forme d'un tableau tout en préservant tous les éléments. C'est une opération couramment utilisée en apprentissage automatique car de nombreuses fonctions et méthodes des bibliothèques d'apprentissage automatique nécessitent que les tableaux aient une forme spécifique.

Formes de tableau

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) :

1234
import 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)
copy

ndarray.reshape()

Les tableaux NumPy ont une méthode .reshape() pour le remodelage. Vous n'avez besoin que de passer la forme du tableau résultant soit comme un entier, un tuple d'entiers, ou des entiers comme arguments séparés.

Cette méthode ne modifie pas le tableau en place, mais retourne un nouveau tableau.

Remarque

En fait, .reshape() retourne une vue du tableau original, donc toute modification apportée au tableau remodelé affectera également le tableau original.

123456789
import 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)
copy

Remarque

Le nombre d'éléments dans le tableau remodelé doit être le même que dans le tableau original, vous ne pouvez donc pas passer une forme arbitraire.

Dans notre exemple, remodeler le tableau en une forme de 3 lignes et 4 colonnes (3 x 4) ou en une forme de 2 blocs, chacun contenant 2 lignes et 3 colonnes (2 x 2 x 3) 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 gardant le même nombre total d'éléments.

Utiliser .reshape(-1, 1) est particulièrement utile en apprentissage automatique lorsque nous devons 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).

123456
import 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)
copy

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 avec 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 seul entier, par exemple, np.reshape(array, (3, 4)) :

123456
import 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)
copy
Tâche

Swipe to start coding

Vous avez un tableau sales_data_2021 avec des données de ventes trimestrielles simulées pour deux produits en 2021. Les 4 premiers éléments représentent les ventes trimestrielles pour le premier produit, et les 4 derniers éléments représentent les ventes trimestrielles pour le deuxième produit.

  1. Utilisez la méthode appropriée de sales_data_2021 pour le remodeler en un tableau 2D.

  2. La première ligne doit contenir les ventes trimestrielles pour le premier produit.

  3. La deuxième ligne doit contenir les ventes trimestrielles pour le deuxième produit.

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 4
toggle bottom row

book
Restructuration des Tableaux

Le remodelage des tableaux dans NumPy vous permet de changer la forme d'un tableau tout en préservant tous les éléments. C'est une opération couramment utilisée en apprentissage automatique car de nombreuses fonctions et méthodes des bibliothèques d'apprentissage automatique nécessitent que les tableaux aient une forme spécifique.

Formes de tableau

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) :

1234
import 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)
copy

ndarray.reshape()

Les tableaux NumPy ont une méthode .reshape() pour le remodelage. Vous n'avez besoin que de passer la forme du tableau résultant soit comme un entier, un tuple d'entiers, ou des entiers comme arguments séparés.

Cette méthode ne modifie pas le tableau en place, mais retourne un nouveau tableau.

Remarque

En fait, .reshape() retourne une vue du tableau original, donc toute modification apportée au tableau remodelé affectera également le tableau original.

123456789
import 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)
copy

Remarque

Le nombre d'éléments dans le tableau remodelé doit être le même que dans le tableau original, vous ne pouvez donc pas passer une forme arbitraire.

Dans notre exemple, remodeler le tableau en une forme de 3 lignes et 4 colonnes (3 x 4) ou en une forme de 2 blocs, chacun contenant 2 lignes et 3 colonnes (2 x 2 x 3) 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 gardant le même nombre total d'éléments.

Utiliser .reshape(-1, 1) est particulièrement utile en apprentissage automatique lorsque nous devons 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).

123456
import 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)
copy

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 avec 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 seul entier, par exemple, np.reshape(array, (3, 4)) :

123456
import 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)
copy
Tâche

Swipe to start coding

Vous avez un tableau sales_data_2021 avec des données de ventes trimestrielles simulées pour deux produits en 2021. Les 4 premiers éléments représentent les ventes trimestrielles pour le premier produit, et les 4 derniers éléments représentent les ventes trimestrielles pour le deuxième produit.

  1. Utilisez la méthode appropriée de sales_data_2021 pour le remodeler en un tableau 2D.

  2. La première ligne doit contenir les ventes trimestrielles pour le premier produit.

  3. La deuxième ligne doit contenir les ventes trimestrielles pour le deuxième produit.

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 4
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