Numpy anwenden Funktion

Numpy anwenden Funktion
Die integrierte Bibliothek von Python, bekannt als Numpy, ermöglicht es uns, die mehrdimensionalen Arrays zu konstruieren, sie zu modifizieren und verschiedene arithmetische Berechnungen durchzuführen. Die Bewerbung wird auch vom Numpy -Paket bereitgestellt. Der typische Anwendungsfall für die Anwendungsfunktion ähnelt dem Szenario, in dem wir ein Array in Scheiben schneiden und in jedem Element einer Liste einige Vorgänge ausführen möchten. Natürlich wissen wir in Python, dass For-Schleifen langsam sind, also möchten wir sie nach Möglichkeit vermeiden. Die Funktion „Anwendung“ kann verwendet werden, wenn Sie in jeder Zeile oder Spalte eines Datenrahmens denselben Betrieb ausführen möchten. Mit anderen Worten, es tut das, was Sie mit einem Vorlauf machen möchten, ohne einen For-Loop schreiben zu müssen.

Abhängig von der Bedingung gibt es zwei Methoden, um eine beliebige Funktion auf das Array anzuwenden. Wir können die Funktion „über die Achse anwenden“ anwenden, die nützlich ist, wenn wir die Funktion auf jedes Element des Arrays eins nacheinander anwenden, und sie ist für die n-dimensionalen Arrays nützlich. Die zweite Methode ist „entlang der Achse anwenden“, die für ein eindimensionales Array gilt.

Syntax:

Methode 1: Bewerben Sie sich entlang der Achse

Numpy.apply_along_axis (1d_function, axis, arr, *args, ** kwargs)

In der Syntax haben wir das „Numpy.anwenden ”-Funktion, auf die wir fünf Argumente verabschieden. Das erste Argument, das "1D_Function" ist, arbeitet auf dem eindimensionalen Array, das erforderlich ist. Während das zweite Argument, die „Achse“, ist diejenige, auf der Sie das Array schneiden und diese Funktion anwenden möchten. Der dritte Parameter ist „arr“, das das angegebene Array ist, auf das wir die Funktion anwenden möchten. Während die "*args" und "*kwargs" die zusätzlichen Argumente sind, die nicht hinzugefügt werden müssen.

Beispiel 1:

Wenn wir uns auf ein besseres Verständnis der „Anwendung“ -Methoden bewegen, führen wir ein Beispiel, um die Arbeit von Anwendungsmethoden zu überprüfen. In diesem Fall führen wir die Funktion „appara_along_axis“ aus. Gehen wir zu unserem ersten Schritt fort. Wir schließen zuerst unsere Numpy -Bibliotheken als NP ein. Und dann erstellen wir ein Array mit dem Namen "arr", das eine 3 × 3 -Matrix mit ganzzahligen Werten enthält, die "8, 1, 7, 4, 3, 9, 5, 2 und 6" sind. In der nächsten Zeile erstellen wir eine Variable mit dem Namen "Array", die dafür verantwortlich ist, das Ergebnis der Funktion apply_along_axis zu halten.

Zu dieser Funktion vergeben wir drei Argumente. Die erste ist die Funktion, die wir auf das Array anwenden möchten, in unserem Fall ist es die sortierte Funktion, da wir möchten, dass unser Array sortiert wird. Dann passieren wir das zweite Argument „1“, was bedeutet, dass wir unser Array entlang der Achse = 1 in Scheiben schneiden wollen. Laslty, wir bestehen das Array, das in diesem Fall sortiert werden soll. Am Ende des Code drucken wir einfach beide Arrays - das ursprüngliche Array sowie das resultierende Array -, die mit der Anweisung Print () angezeigt werden.

Numph als NP importieren
arr = np.Array ([[8,1,7], [4,3,9], [5,2,6]])
Array = np.apply_along_axis (sortiert, 1, arr)
print ("Das ursprüngliche Array ist:", arr)
print ("Das sortierte Array ist:", Array)

Wie wir in der folgenden Ausgabe sehen können, haben wir beide Arrays angezeigt. In der ersten werden die Werte zufällig in jeder Zeile der Matrix platziert. Aber im zweiten können wir das sortierte Array sehen. Seit wir die Achse „1“ bestanden haben, hat es das komplette Array nicht sortiert, aber es sortiert es in Bezug auf die Zeile wie angezeigt. Jede Reihe ist sortiert. Die erste Reihe im angegebenen Array lautet "8, 1 und 7". Während des sortierten Arrays lautet die erste Reihe "1, 7 und 8". Gleich wie dieser ist jede Zeile sortiert.

Methode 2: Bewerben Sie sich über die Achse

Numpy.apply_over_axes (func, a, achsen)

In der gegebenen Syntax haben wir Numpy.apply_over_axis -Funktion, die für die Anwendung der Funktion auf der angegebenen Achse verantwortlich ist. In der Funktion apply_over_axis vergeben wir drei Argumente. Die erste ist die Funktion, die ausgeführt werden soll. Der zweite ist das Array selbst. Und die letzte ist die Achse, auf die wir die Funktion anwenden möchten.

Beispiel 2:

In der folgenden Instanz führen wir die zweite Methode der Funktion „Anwendung“ aus, in der wir die Summe des dreidimensionalen Arrays berechnen. Eine Sache, die Sie erinnern sollten, ist, dass die Summe von zwei Arrays nicht bedeutet, dass wir das gesamte Array berechnen. In einigen Arrays berechnen wir die zeilenweise Summe, was bedeutet, dass wir die Zeilen hinzufügen und das einzelne Element aus ihnen herausholen.

Lassen Sie uns zu unserem Code vorgehen. Wir importieren zuerst das Numpy-Paket und erstellen dann eine Variable, die das dreidimensionale Array enthält. In unserem Fall lautet die Variable "arr". In der nächsten Zeile erstellen wir eine andere Variable, die die resultierende Array der apply_over_axis -Funktion enthält. Wir weisen der Variablen „arr“ mit drei Argumenten die Funktion apply_over_axis zu. Das erste Argument ist die integrierte Funktion des Numpy, um die Summe zu berechnen, die NP ist.Summe. Der zweite Parameter ist das Array selbst. Das dritte Argument ist die Achse, auf die die Funktion angewendet wird. In diesem Fall haben wir "[0, 2]" -Axis. Am Ende des Codes führen wir beide Arrays mit der Anweisung Print () aus.

Numph als NP importieren
arr = np.Array ([[[6, 12, 2], [2, 9, 6], [18, 0, 10]],
[[12, 7, 14], [2, 17, 18], [0, 21, 8]]]))
Array = np.apply_over_axes (np.sum, arr, [0,2])
print ("Das ursprüngliche Array ist:", arr)
print ("Die Summe des Arrays ist:", Array)

Wie in der folgenden Abbildung gezeigt, haben wir einige unserer dreidimensionalen Arrays unter Verwendung der Funktion apply_over_axis berechnet. Das erste angezeigte Array ist das ursprüngliche Array mit der Form von „2, 3, 3“ und die zweite ist die Summe der Zeilen. Die Summe in der ersten Reihe ist „53“, der zweite ist „54“ und der letzte ist „57“.

Abschluss

In diesem Artikel haben wir untersucht, wie die Anwendungsfunktion in Numpy verwendet wird und wie wir die verschiedenen Funktionen auf Arrays entlang oder über der Achse anwenden können. Es ist einfach, jede Funktion in der gewünschten Zeile oder Spalte anzuwenden, indem sie mithilfe der von Numpy bereitgestellten „Anwendung“ -Methoden geschnitten werden. Dies ist eine effiziente Art, wenn wir es nicht auf das gesamte Array anwenden müssen. Wir hoffen, dass Sie diesen Beitrag von Vorteil finden, um zu lernen, wie Sie die Anwendenmethode verwenden.