Stwórz własną funkc
Jak stworzyć własny ufunc
Aby stworzyć własną ufunc, musisz zdefiniować funkcję, tak jak robisz to z normalnymi funkcjami w Pythonie, a następnie dodać ją do swojej biblioteki NumPy ufunc za pomocą frompyfunc()
metody.
Metoda frompyfunc()
przyjmuje następujące argumenty:
function
- nazwa funkcji.inputs
- liczba argumentów wejściowych (tablic).outputs
- liczba tablic wyjściowych.
Przykład
Stwórz swój własny ufunc do dodania:
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]))
Sprawdź, czy funkcja jest ufunc
Sprawdź typ funkcji, aby sprawdzić, czy jest to funkcja ufunc, czy nie.
Powinno powrócić ufunc <class 'numpy.ufunc'>
.
Przykład
Sprawdź, czy funkcja jest ufunc:
import numpy as np
print(type(np.add))
Jeśli nie jest ufunc, zwróci inny typ, na przykład ta wbudowana funkcja NumPy do łączenia dwóch lub więcej tablic:
Przykład
Sprawdź typ innej funkcji: concatenate():
import numpy as np
print(type(np.concatenate))
Jeśli funkcja nie zostanie w ogóle rozpoznana, zwróci błąd:
Przykład
Sprawdź typ czegoś, co nie istnieje. Spowoduje to błąd:
import numpy as np
print(type(np.blahblah))
Aby sprawdzić, czy funkcja jest ufunc w instrukcji if, użyj numpy.ufunc
wartości (lub np.ufunc
jeśli używasz np. jako aliasu dla numpy):
Przykład
Użyj instrukcji if, aby sprawdzić, czy funkcja jest ufunc, czy nie:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')