Создайте свой собственный ufunc
Как создать свой собственный ufunc
Чтобы создать свой собственный ufunc, вам нужно определить функцию, как вы это делаете с обычными функциями в Python, а затем добавить ее в свою библиотеку ufunc NumPy с помощью frompyfunc()
метода.
Метод frompyfunc()
принимает следующие аргументы:
function
- название функции.inputs
- количество входных аргументов (массивов).outputs
- количество выходных массивов.
Пример
Создайте свой собственный ufunc для добавления:
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]))
Проверить, является ли функция функцией ufunc
Проверьте тип функции, чтобы проверить, является ли она ufunc или нет.
Ufunc должен вернуться <class 'numpy.ufunc'>
.
Пример
Проверьте, является ли функция ufunc:
import numpy as np
print(type(np.add))
Если это не ufunc, он вернет другой тип, как эта встроенная функция NumPy для объединения двух или более массивов:
Пример
Проверьте тип другой функции: concatenate():
import numpy as np
print(type(np.concatenate))
Если функция вообще не распознана, она вернет ошибку:
Пример
Проверьте тип того, чего не существует. Это вызовет ошибку:
import numpy as np
print(type(np.blahblah))
Чтобы проверить, является ли функция ufunc в операторе if, используйте numpy.ufunc
значение (или np.ufunc
если вы используете np в качестве псевдонима для numpy):
Пример
Используйте оператор if, чтобы проверить, является ли функция ufunc или нет:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')