Redimensionnement de tableau NumPy
- Page précédente Forme de tableau NumPy
- Page suivante Iteration de tableau NumPy
Redimensionnement de tableau
Redimensionner signifie changer la forme du tableau.
La forme du tableau est le nombre d'éléments dans chaque dimension.
Par le redimensionnement, nous pouvons ajouter ou supprimer des dimensions ou changer le nombre d'éléments dans chaque dimension.
Redimensionnement de 1-D à 2-D
Exemple
Convertir le tableau 1D de 12 éléments suivant en tableau 2D.
La dimension la plus externe aura 4 tableaux, chacun contenant 3 éléments :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(4, 3) print(newarr)
Redimensionnement de 1-D à 3-D
Exemple
Convertir le tableau 1D de 12 éléments suivant en tableau 3D.
La dimension la plus externe aura 2 tableaux, chacun contenant 3 tableaux, et chaque tableau contient 2 éléments :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(2, 3, 2) print(newarr)
Pouvons-nous redimensionner en n'importe quelle forme ?
Oui, tant que le nombre d'éléments nécessaires pour le redimensionnement est égal dans les deux formes.
Nous pouvons redimensionner un tableau 1D d'8 éléments en un tableau 2D de 2 lignes et 4 colonnes, mais nous ne pouvons pas le redimensionner en un tableau 2D de 3 lignes et 3 colonnes, car cela nécessiterait 3x3 = 9 éléments.
Exemple
Tentez de convertir un tableau 1D d'8 éléments en un tableau 2D avec 3 éléments par dimension (cela produira une erreur) :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(3, 3) print(newarr)
Retourne-t-il une copie ou une vue ?
Exemple
Vérifier si le tableau retourné est une copie ou une vue :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) print(arr.reshape(2, 4).base)
L'exemple ci-dessus renvoie le tableau original, donc c'est une vue.
Dimension inconnue
Vous pouvez utiliser une dimension "inconnue".
Cela signifie que vous n'avez pas besoin de spécifier un nombre précis pour une dimension dans la méthode reshape.
Passer -1
En tant que valeur, NumPy calculera ce nombre pour vous.
Exemple
Convertir un tableau 1D de 8 éléments en tableau 3D de 2x2 éléments :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(2, 2, -1) print(newarr)
Remarque :Nous ne pouvons pas convertir -1
Passé à une dimension ou plusieurs dimensions.
Tableau plat
Le plat de tableau (Flattening the arrays) consiste à convertir un tableau multidimensionnel en tableau 1D.
Nous pouvons utiliser reshape(-1)
Pour faire cela.
Exemple
Convertir un tableau en tableau 1D :
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) newarr = arr.reshape(-1) print(newarr)
Remarque :Il y a de nombreuses fonctions qui peuvent modifier la forme des tableaux numpy flatten, ravel, et peuvent également réarranger les éléments rot90, flip, fliplr, flipud, etc. Ces fonctions appartiennent à la partie intermédiaire à avancée de numpy.
- Page précédente Forme de tableau NumPy
- Page suivante Iteration de tableau NumPy