NumPy-Array-Trennen

Teilen von NumPy-Arrays

Teilen ist das Gegenteil der Verknüpfung.

Verknüpfung (Joining) ist das Zusammenfügen mehrerer Arrays zu einem, Teilen (Spliting) ist das Teilen eines Arrays in mehrere.

Wir verwenden array_split() Teilen Sie das Array, indem Sie das zu teilende Array und die Anzahl der zu teilenden Teile an es übergeben.

Beispiel

Das Array in 3 Teile teilen:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 3)
print(newarr)

Führen Sie ein Beispiel aus

Anmerkung:Der Rückgabewert ist ein Array, das drei Arrays enthält.

Wenn die Elemente im Array weniger sind als die geforderte Anzahl, wird es von Ende aus entsprechend angepasst.

Beispiel

Das Array in 4 Teile teilen:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 4)
print(newarr)

Führen Sie ein Beispiel aus

Hinweis:Wir haben auch split() Die Methode ist verfügbar, aber wenn die Elemente im Quellarray weniger sind als für die Teilung erforderlich, wird sie nicht angepasst, wie im obigen Beispiel.array_split() funktioniert normal, aber split() fehlt

Teilen in Arrays

array_split() Der Rückgabewert der Methode ist ein Array, das alle Teile enthält.

Wenn ein Array in 3 Arrays aufgeteilt wird, können Sie sie wie jeden Arrayelement aus dem Ergebnis aufrufen:

Beispiel

Zugriff auf das geteilte Array:

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

Führen Sie ein Beispiel aus

Teilen Sie zweiimensionale Arrays

Verwenden Sie die gleiche Syntax, um zweiimensionale Arrays zu teilen.

Verwendung array_split() Methode, übergeben Sie das zu teilende Array und die Anzahl der gewünschten Teile.

Beispiel

Teilen Sie diese 2-D -Array in drei 2-D -Arrays.

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)

Führen Sie ein Beispiel aus

Der obige Beispiel gibt drei 2-D -Arrays zurück.

Lassen Sie uns ein anderes Beispiel betrachten, bei dem jeder Element der 2-D -Array 3 Elemente enthält.

Beispiel

Teilen Sie diese 2-D -Array in drei 2-D -Arrays.

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)

Führen Sie ein Beispiel aus

Der obige Beispiel gibt drei 2-D -Arrays zurück.

Darüber hinaus können Sie das Achse angeben, entlang der gespalten werden soll.

Der folgende Beispiel gibt ebenfalls drei 2-D -Arrays zurück, aber sie werden entlang der Zeilen (axis=1) geteilt.

Beispiel

Teilen Sie diese 2-D -Array entlang der Zeilen in drei 2-D -Arrays.

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)

Führen Sie ein Beispiel aus

Eine andere Lösung ist die Verwendung von hstack() Umgekehrt hsplit().

Beispiel

Verwenden Sie die hsplit() -Methode, um eine 2-D -Array entlang der Zeilen in drei 2-D -Arrays zu teilen.

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)

Führen Sie ein Beispiel aus

Hinweis:vsplit() und dsplit() Es kann mit verwendet werden vstack() und dstack() Ähnliche Alternativmethoden.