Séparation des tableaux NumPy
- Page précédente Connexion des tableaux NumPy
- Page suivante Recherche des tableaux NumPy
Diviser un tableau NumPy
La division est l'opération inverse du join.
Joining (Fusion) consiste à fusionner plusieurs tableaux en un, Spliting (Division) consiste à diviser un tableau en plusieurs.
Nous utilisons array_split()
Diviser un tableau, passez l'array à diviser et le nombre de divisions à diviser à la méthode.
Exemple
Divisez l'array en 3 parties :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
Remarque :La valeur de retour est un tableau contenant trois tableaux.
Si le nombre d'éléments de l'array est inférieur au nombre requis, il ajustera en conséquence à partir de la fin.
Exemple
Divisez l'array en 4 parties :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Astuce :Nous avons aussi split()
La méthode est disponible, mais lorsque le nombre d'éléments de l'array source est insuffisant pour la division, elle ne réglera pas les éléments, comme dans l'exemple ci-dessus,array_split()
fonctionne normalement, mais split()
échouera.
Division en tableau
array_split()
La valeur de retour de la méthode est un tableau contenant chaque division.
Si vous divisez un tableau en 3 tableaux, vous pouvez accéder à eux comme à des éléments de tableau de résultat :
Exemple
Accès aux tableaux divisés :
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr[0]) print(newarr[1]) print(newarr[2])
Division d'un tableau bidimensionnel
Lors de la division d'un tableau bidimensionnel, utilisez la même syntaxe.
Utilisation array_split()
Méthode, entrez l'array à diviser et le nombre de divisions souhaitées.
Exemple
Divisez ce tableau 2-D en trois tableaux 2-D.
import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]) newarr = np.array_split(arr, 3) print(newarr)
L'exemple précédent retourne trois tableaux 2-D.
Voyons un autre exemple, cette fois chaque élément du tableau 2-D contient 3 éléments.
Exemple
Divisez ce tableau 2-D en trois tableaux 2-D.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr)
L'exemple précédent retourne trois tableaux 2-D.
De plus, vous pouvez spécifier l'axe à diviser.
Les exemples suivants retournent également trois tableaux 2-D, mais ils sont divisés en ligne (axis=1).
Exemple
Divisez ce tableau 2-D en trois tableaux 2-D en ligne.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr)
Une autre solution consiste à utiliser avec hstack()
Inverse hsplit()
.
Exemple
Divisez un tableau 2-D en trois tableaux 2-D en utilisant la méthode hsplit().
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.hsplit(arr, 3) print(newarr)
Astuce :vsplit()
et dsplit()
Vous pouvez utiliser avec vstack()
et dstack()
Méthodes de remplacement similaires.
- Page précédente Connexion des tableaux NumPy
- Page suivante Recherche des tableaux NumPy