Vytvořte si vlastní ufunc
Jak vytvořit svůj vlastní ufunc
Chcete-li vytvořit svůj vlastní ufunc, musíte definovat funkci, jako to děláte s normálními funkcemi v Pythonu, a poté ji přidat do své knihovny NumPy ufunc pomocí frompyfunc()
metody.
Metoda frompyfunc()
používá následující argumenty:
function
- název funkce.inputs
- počet vstupních argumentů (polí).outputs
- počet výstupních polí.
Příklad
Vytvořte si vlastní ufunc pro přidání:
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]))
Zkontrolujte, zda je funkce ufunc
Zkontrolujte typ funkce, abyste zjistili, zda je ufunc nebo ne.
Ufunc by se měl vrátit <class 'numpy.ufunc'>
.
Příklad
Zkontrolujte, zda je funkce ufunc:
import numpy as np
print(type(np.add))
Pokud to není ufunc, vrátí jiný typ, jako je tato vestavěná funkce NumPy pro spojení dvou nebo více polí:
Příklad
Zkontrolujte typ další funkce: concatenate():
import numpy as np
print(type(np.concatenate))
Pokud funkce není vůbec rozpoznána, vrátí chybu:
Příklad
Zkontrolujte typ něčeho, co neexistuje. To způsobí chybu:
import numpy as np
print(type(np.blahblah))
Chcete-li otestovat, zda je funkce ufunc v příkazu if, použijte numpy.ufunc
hodnotu (nebo np.ufunc
pokud používáte np jako alias pro numpy):
Příklad
Pomocí příkazu if zkontrolujte, zda je funkce ufunc nebo ne:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')