NumPy- Splitting-Array


Aufteilen von NumPy-Arrays

Das Aufteilen ist ein umgekehrter Vorgang des Verbindens.

Joining führt mehrere Arrays zu einem zusammen und Splitting zerlegt ein Array in mehrere.

Wir verwenden array_split()zum Aufteilen von Arrays, wir übergeben das Array, das wir aufteilen möchten, und die Anzahl der Aufteilungen.

Beispiel

Teilen Sie das Array in 3 Teile:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 3)

print(newarr)

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

Wenn das Array weniger Elemente als erforderlich hat, wird es am Ende entsprechend angepasst.

Beispiel

Teilen Sie das Array in 4 Teile:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 4)

print(newarr)

Hinweis: Wir haben auch die Methode split()zur Verfügung, aber sie passt die Elemente nicht an, wenn sich weniger Elemente im Quellarray zum Teilen befinden, wie im obigen Beispiel, array_split()funktionierte richtig, split()würde aber fehlschlagen.



In Arrays aufteilen

Der Rückgabewert der array_split()Methode ist ein Array, das jede Teilung als Array enthält.

Wenn Sie ein Array in 3 Arrays aufteilen, können Sie wie auf jedes Array-Element über das Ergebnis darauf zugreifen:

Beispiel

Greifen Sie auf die geteilten Arrays zu:

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

Aufteilen von 2-D-Arrays

Verwenden Sie beim Teilen von 2-D-Arrays dieselbe Syntax.

Verwenden Sie die array_split()Methode, übergeben Sie das Array, das Sie aufteilen möchten, und die Anzahl der Aufteilungen, die Sie durchführen möchten.

Beispiel

Teilen Sie das 2-D-Array in drei 2-D-Arrays auf.

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)

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

Schauen wir uns ein weiteres Beispiel an, dieses Mal enthält jedes Element in den 2-D-Arrays 3 Elemente.

Beispiel

Teilen Sie das 2-D-Array in drei 2-D-Arrays auf.

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)

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

Außerdem können Sie angeben, um welche Achse herum Sie die Teilung vornehmen möchten.

Das folgende Beispiel gibt ebenfalls drei 2-D-Arrays zurück, die jedoch entlang der Zeile (Achse = 1) aufgeteilt sind.

Beispiel

Teilen Sie das 2-D-Array entlang von Zeilen in drei 2-D-Arrays auf.

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)

Eine alternative Lösung ist die Verwendung hsplit()des Gegenteils von hstack()

Beispiel

Verwenden Sie die hsplit()Methode, um das 2-D-Array entlang von Zeilen in drei 2-D-Arrays aufzuteilen.

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)

Hinweis: Ähnliche Alternativen zu vstack()und dstack()sind als vsplit()und verfügbar dsplit().