Erstellen Sie Ihre eigene ufunc
So erstellen Sie Ihr eigenes ufunc
frompyfunc()
Um Ihre eigene ufunc zu erstellen, müssen Sie eine Funktion definieren, wie Sie es bei normalen Funktionen in Python tun, und diese dann mit der Methode zu Ihrer NumPy-ufunc-Bibliothek hinzufügen .
Die frompyfunc()
Methode akzeptiert die folgenden Argumente:
function
- der Name der Funktion.inputs
- die Anzahl der Eingabeargumente (Arrays).outputs
- die Anzahl der Ausgangsarrays.
Beispiel
Erstellen Sie Ihre eigene ufunc zum Hinzufügen:
import numpy as np
def myadd(x, y):
return x+y
myadd = np.frompyfunc(myadd, 2, 1)
print(myadd([1, 2,
3, 4], [5, 6, 7, 8]))
Überprüfen Sie, ob eine Funktion eine ufunc ist
Überprüfen Sie den Typ einer Funktion, um festzustellen, ob es sich um eine ufunc handelt oder nicht.
Ein ufunc sollte zurückkehren <class 'numpy.ufunc'>
.
Beispiel
Überprüfen Sie, ob eine Funktion eine ufunc ist:
import numpy as np
print(type(np.add))
Wenn es kein ufunc ist, gibt es einen anderen Typ zurück, wie diese integrierte NumPy-Funktion zum Verbinden von zwei oder mehr Arrays:
Beispiel
Überprüfen Sie den Typ einer anderen Funktion: concatenate():
import numpy as np
print(type(np.concatenate))
Wenn die Funktion überhaupt nicht erkannt wird, gibt sie einen Fehler zurück:
Beispiel
Überprüfen Sie den Typ von etwas, das nicht existiert. Dies wird einen Fehler erzeugen:
import numpy as np
print(type(np.blahblah))
Um zu testen, ob die Funktion ein ufunc in einer if-Anweisung ist, verwenden Sie den numpy.ufunc
Wert (oder np.ufunc
wenn Sie np als Alias für numpy verwenden):
Beispiel
Verwenden Sie eine if-Anweisung, um zu überprüfen, ob die Funktion eine ufunc ist oder nicht:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')