English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Teilen ist das Gegenteil von Verknüpfung.
Verknüpfung (Joining) bedeutet, mehrere Arrays zu einem Array zu kombinieren, und Aufteilen (Spliting) bedeutet, ein Array in mehrere Arrays zu teilen.
Grundlegende Array-teilungsfunktionen sind wie folgt:
Funktion | Array und Operationen |
split | Ein Array in mehrere Unterarrays teilen |
hsplit | Ein Array horizontal in mehrere Unterarrays teilen (nach Spalten) |
vsplit | Ein Array horizontal in mehrere Unterarrays teilen (nach Zeilen) |
numpy.split-Funktion teilt ein Array entlang eines bestimmten Axes in Teilarrays auf, Format wie folgt:
numpy.split(ary, indices_or_sections, axis)
Parameterbeschreibung:
ary: das zu teilende Arrayindices_or_sections: falls ein Integer, wird der Array gleichmäßig geteilt, falls ein Array, werden die Positionen entlang der Achse geteilt (links offen, rechts geschlossen) axis: entlang welcher Dimension die Schnittverteilung erfolgt, Standardwert 0, horizontale Aufteilung. Für1bei vertikaler Aufteilung
import numpy as np a = np.arange(15) print('Erster Array: ') print(a) print('\n') print ('Array in drei gleich große Teilarrays aufteilen:') b = np.split(a,5) print(b) print('\n') print ('Arraypositionen in einem ein-dimensionalen Array angeben:') b = np.split(a,[4,7]) print(b)
Ergebnis:
Erster Array: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]] Array in drei gleich große Teilarrays aufteilen: [array([0, 1, 2)) array([3, 4, 5)) array([6, 7, 8)) array([ 9, 10, 11)) array([12, 13, 14]] Arraypositionen in einem ein-dimensionalen Array angeben: [array([0, 1, 2, 3)) array([4, 5, 6)) array([ 7, 8, 9, 10, 11, 12, 13, 14]]
Wenn die Elemente im Array weniger sind als die erforderliche Anzahl, mussarray_split-FunktionEs wird eine entsprechende Anpassung am Ende vorgenommen.
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Ergebnis:
[array([1, 2)) array([3, 4)) array([5)) array([6]]
Die Funktion numpy.hsplit wird verwendet, um Arrays horizontal aufzuteilen, indem die Anzahl der zu返回的相同形状的数组数量 angegeben wird.
import numpy as np harr = np.floor(10 * np.random.random(2, 8)) print('Ursprünglicher Array: ') print(harr) print('Nach der Aufteilung: ') print(np.hsplit(harr, 4))
Ergebnis:
Ursprünglicher Array: [7. 9. 2. 6. 8. 7. 4. 5.] [2. 5. 3. 5. 9. 4. 1. 3.]] Nach der Aufteilung: [array([7. 9.], [2. 5.]]2. 6.], [3. 5.]]8. 7.], [9. 4.]]4. 5.], [1. 3.]
numpy.vsplit teilt entlang der vertikalen Achse auf, und der Aufteilungsstil ist ähnlich wie bei hsplit.
import numpy as np a = np.arange(16).reshape(4,4) print('Erster Array: ') print(a) print('\n') print('Vertikale Aufteilung: ') b = np.vsplit(a,2) print(b)
Ergebnis:
Erster Array: [[ 0 1 2 3]] [ 4 5 6 7]] [ 8 9 10 11]] [12 13 14 15]] Vertikale Aufteilung: [array([[ 1, 2, 3], [4, 5, 6, 7]]] 8, 9, 10, 11], [12, 13, 14, 15]]]