NumPy-ufuncs


Was sind U-Funktionen?

ufuncs steht für "Universal Functions" und es handelt sich um NumPy-Funktionen, die auf das ndarrayObjekt wirken.

Warum ufuncs verwenden?

ufuncs werden verwendet, um die Vektorisierung in NumPy zu implementieren, was viel schneller ist als das Iterieren über Elemente.

Sie bieten auch Broadcasting und zusätzliche Methoden wie Reduzieren, Akkumulieren usw., die für die Berechnung sehr hilfreich sind.

ufuncs akzeptieren auch zusätzliche Argumente, wie:

where boolsches Array oder Bedingung, die definiert, wo die Operationen stattfinden sollen.

dtype Definieren des Rückgabetyps von Elementen.

out Ausgabearray, in das der Rückgabewert kopiert werden soll.


Was ist Vektorisierung?

Das Konvertieren iterativer Anweisungen in eine vektorbasierte Operation wird als Vektorisierung bezeichnet.

Es ist schneller, da moderne CPUs für solche Operationen optimiert sind.

Fügen Sie die Elemente von zwei Listen hinzu

Liste 1: [1, 2, 3, 4]

Liste 2: [4, 5, 6, 7]

Eine Möglichkeit, dies zu tun, besteht darin, beide Listen zu durchlaufen und dann alle Elemente zu summieren.

Beispiel

Ohne ufunc können wir die eingebaute zip()Methode von Python verwenden:

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []

for i, j in zip(x, y):
  z.append(i + j)
print(z)

NumPy hat dafür eine ufunc namens add(x, y) , die das gleiche Ergebnis liefert.

Beispiel

Mit ufunc können wir die add()Funktion verwenden:

import numpy as np

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)

print(z)