English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le Spliting est l'opération inverse du Joining.
Joining (Fusion) consiste à combiner plusieurs arrays en un seul, Spliting (Découpage) consiste à découper un array en plusieurs.
Fonction de découpe de base des arrays suivante :
Fonction | Array et opérations |
split | Divisez un array en plusieurs sous-arrays |
hsplit | Divisez un array en plusieurs sous-arrays horizontalement (par colonnes) |
vsplit | Divisez un array en plusieurs sous-arrays verticalement (par lignes) |
La fonction numpy.split coupe l'array le long d'un axe spécifique en sous-arrays, avec le format suivant :
numpy.split(ary, indices_or_sections, axis)
Description des paramètres :
ary : l'array à découperindices_or_sections : c'est un entier, il découpe en moyenne, s'il s'agit d'un tableau, il s'agit des positions de coupe le long de l'axe (ouverte à gauche et fermée à droite) axis : le long de quelle dimension effectuer la coupe, par défaut 0, coupe horizontale. Si1Lorsque,
import numpy as np a = np.arange(15) print ('Premier tableau :') print (a) print ('\n') print ('Diviser l'array en trois sous-arrays de même taille :') b = np.split(a,5) print (b) print ('\n') print ('Indiquer la position d'un array dans un array unidimensionnel :') b = np.split(a,[4,7]) print (b)
Résultat de la sortie :
Premier tableau : [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]] Diviser l'array en trois sous-arrays de même taille : [array([0, 1, 2))3, 4, 5))6, 7, 8)) 9, 10, 11))12, 13, 14]] Indiquer la position d'un array dans un array unidimensionnel : [array([0, 1, 2, 3))4, 5, 6)) 7, 8, 9, 10, 11, 12, 13, 14]]
Lorsque le nombre d'éléments dans l'array est inférieur au nombre requis, il faut utiliserFonction array_splitIl ajustera en conséquence à partir de la fin.
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Résultat de la sortie :
[array([1, 2))3, 4))5))6]]
La fonction numpy.hsplit est utilisée pour couper les tableaux horizontalement, en divisant l'array original en plusieurs tableaux de même forme en spécifiant le nombre de tableaux à retourner.
import numpy as np harr = np.floor(10 * np.random.random(2, 8)) print ('Array d'origine :') print(harr) print ('Après séparation :') print(np.hsplit(harr, 4))
Résultat de la sortie :
Array d'origine : [7. 9. 2. 6. 8. 7. 4. 5.] [2. 5. 3. 5. 9. 4. 1. 3.]] Après séparation : [array([7. 9, [2. 5.]]2. 6, [3. 5.]]8. 7, [9. 4.]]4. 5, [1. 3.]
numpy.vsplit coupe le long de l'axe vertical, son mode de coupe est le même que hsplit.
import numpy as np a = np.arange(16).reshape(4,4) print ('Premier tableau :') print (a) print ('\n') print ('Coupure verticale :') b = np.vsplit(a,2) print (b)
Résultat de la sortie :
Premier tableau : [ 0 1 2 3]] [ 4 5 6 7]] [ 8 9 10 11]] [12 13 14 15]] Coupure verticale : [array([[ 1, 2, 3], [4, 5, 6, 7]] 8, 9, 10, 11], [12, 13, 14, 15]])]