NumPy Apply-Funktion

Numpy Apply Funktion



Die von Python angebotene integrierte Bibliothek, bekannt als NumPy, ermöglicht es uns, die mehrdimensionalen Arrays zu erstellen, sie zu modifizieren und verschiedene arithmetische Berechnungen mit ihnen durchzuführen. Die Apply-Funktion wird auch vom NumPy-Paket bereitgestellt. Der typische Anwendungsfall für die apply-Funktion ähnelt dem Szenario, in dem wir ein Array aufteilen und einige Operationen für jedes Element einer Liste ausführen möchten, z. B. wenn wir jedes Element einer Zeile quadrieren möchten. Natürlich wissen wir in Python, dass For-Schleifen langsam sind, also möchten wir sie nach Möglichkeit vermeiden. Die Funktion „Anwenden“ kann verwendet werden, wenn Sie dieselbe Operation für jede Zeile oder Spalte eines Datenrahmens ausführen möchten. Mit anderen Worten, es tut, was Sie mit einer for-Schleife tun möchten, ohne eine for-Schleife schreiben zu müssen.

Es gibt zwei Methoden, um je nach Bedingung eine beliebige Funktion auf das Array anzuwenden. Wir können die Funktion „Über die Achse anwenden“ anwenden, was nützlich ist, wenn wir die Funktion einzeln auf jedes Element des Arrays anwenden, und es ist nützlich für die n-dimensionalen Arrays. Die zweite Methode ist „Entlang der Achse anwenden“, die auf ein eindimensionales Array angewendet wird.

Syntax:

Methode 1: Anwenden entlang der Achse

taub. Anwenden_entlang_der Achse ( 1d_Funktion , Achse , Arr , *arg , ** Quark )

In der Syntax haben wir die Funktion „numpy.apply“, an die wir fünf Argumente übergeben. Das erste Argument, das „1d_function“ ist, arbeitet mit dem eindimensionalen Array, das erforderlich ist. Während das zweite Argument, die „Achse“, dasjenige ist, auf welcher Achse Sie das Array aufteilen und diese Funktion anwenden möchten. Der dritte Parameter ist „arr“, das ist das angegebene Array, auf das wir die Funktion anwenden möchten. Während „*args“ und „*kwargs“ die zusätzlichen Argumente sind, die nicht hinzugefügt werden müssen.







Beispiel 1:

Auf dem Weg zu einem besseren Verständnis der „Anwenden“-Methoden führen wir ein Beispiel durch, um die Funktionsweise der Anwenden-Methoden zu überprüfen. In diesem Fall führen wir die Funktion „apply_along_Axis“ aus. Kommen wir zu unserem ersten Schritt. Wir binden zunächst unsere NumPy-Bibliotheken als np ein. Und dann erstellen wir ein Array namens „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 namens „array“, die dafür verantwortlich ist, das Ergebnis der Funktion apply_along_Axis zu halten.



An diese Funktion übergeben wir drei Argumente. Die erste ist die Funktion, die wir auf das Array anwenden möchten, in unserem Fall ist es die sortierte Funktion, weil wir möchten, dass unser Array sortiert wird. Dann übergeben wir das zweite Argument „1“, was bedeutet, dass wir unser Array entlang Achse = 1 schneiden möchten. Zuletzt übergeben wir das Array, das in diesem Fall sortiert werden soll. Am Ende des Codes drucken wir einfach beide Arrays – das ursprüngliche Array sowie das resultierende Array – die mit der print()-Anweisung angezeigt werden.



importieren taub wie z.B.

Arr = z.B. Reihe ( [ [ 8 , 1 , 7 ] , [ 4 , 3 , 9 ] , [ 5 , zwei , 6 ] ] )

Reihe = z.B. Anwenden_entlang_der Achse ( sortiert , 1 , Arr )

drucken ( 'Das ursprüngliche Array ist:' , Arr )

drucken ( 'Das sortierte Array ist:' , Reihe )





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. Da wir die Achse „1“ passiert haben, hat es nicht das komplette Array sortiert, sondern es hat es wie angezeigt zeilenweise sortiert. Jede Zeile ist sortiert. Die erste Zeile im gegebenen Array ist „8, 1 und 7“. Im sortierten Array ist die erste Zeile „1, 7 und 8“. Ebenso wird jede Zeile sortiert.



Methode 2: Über die Achse auftragen

taub. apply_over_axes ( Funk , a , Achsen )

In der angegebenen Syntax haben wir die Funktion numpy.apply_over_axis, die für die Anwendung der Funktion auf die angegebene Achse verantwortlich ist. Innerhalb der Funktion apply_over_axis übergeben 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 wollen.

Beispiel 2:

Im folgenden Beispiel führen wir die zweite Methode der „Apply“-Funktion aus, bei der wir die Summe des dreidimensionalen Arrays berechnen. Denken Sie daran, dass die Summe zweier Arrays nicht bedeutet, dass wir das gesamte Array berechnen. In einigen der Arrays berechnen wir die zeilenweise Summe, was bedeutet, dass wir die Zeilen addieren und das einzelne Element daraus erhalten.

Kommen wir zu unserem Code. Wir importieren zuerst das NumPy-Paket und erstellen dann eine Variable, die das dreidimensionale Array enthält. In unserem Fall ist die Variable „arr“. In der nächsten Zeile erstellen wir eine weitere Variable, die das resultierende Array der Funktion apply_over_axis enthält. Wir weisen der Variable „arr“ die Funktion apply_over_Axis mit drei Argumenten zu. Das erste Argument ist die eingebaute Funktion von NumPy zur Berechnung der Summe, die np.sum ist. Der zweite Parameter ist das Array selbst. Das dritte Argument ist die Achse, auf die die Funktion angewendet wird, in diesem Fall haben wir die Achse „[0, 2]“. Am Ende des Codes führen wir beide Arrays mit der print()-Anweisung aus.

importieren taub wie z.B.

Arr = z.B. Reihe ( [ [ [ 6 , 12 , zwei ] , [ zwei , 9 , 6 ] , [ 18 , 0 , 10 ] ] ,

[ [ 12 , 7 , 14 ] , [ zwei , 17 , 18 ] , [ 0 , einundzwanzig , 8 ] ] ] )

Reihe = z.B. apply_over_axes ( z.B. Summe , Arr , [ 0 , zwei ] )

drucken ( 'Das ursprüngliche Array ist:' , Arr )

drucken ( 'Die Summe des Arrays ist:' , Reihe )

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

Fazit

In diesem Artikel haben wir untersucht, wie die Funktion apply 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 auf die gewünschte Zeile oder Spalte anzuwenden, indem Sie sie mit den von NumPy bereitgestellten „Apply“-Methoden in Scheiben schneiden. Es ist ein effizienter Weg, wenn wir es nicht auf das gesamte Array anwenden müssen. Wir hoffen, dass Sie diesen Beitrag hilfreich finden, um zu lernen, wie Sie die Anwendung anwenden.