Crea tu propio ufunc
Cómo crear tu propio ufunc
Para crear su propio ufunc, debe definir una función, como lo hace con las funciones normales en Python, luego la agrega a su biblioteca NumPy ufunc con el frompyfunc()
método.
El frompyfunc()
método toma los siguientes argumentos:
function
- El nombre de la función.inputs
- el número de argumentos de entrada (matrices).outputs
- el número de matrices de salida.
Ejemplo
Cree su propio ufunc para agregar:
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]))
Comprobar si una función es ufunc
Compruebe el tipo de una función para comprobar si es ufunc o no.
Un ufunc debería regresar <class 'numpy.ufunc'>
.
Ejemplo
Comprueba si una función es ufunc:
import numpy as np
print(type(np.add))
Si no es ufunc, devolverá otro tipo, como esta función NumPy incorporada para unir dos o más matrices:
Ejemplo
Compruebe el tipo de otra función: concatenar():
import numpy as np
print(type(np.concatenate))
Si la función no se reconoce en absoluto, devolverá un error:
Ejemplo
Comprobar el tipo de algo que no existe. Esto producirá un error:
import numpy as np
print(type(np.blahblah))
Para probar si la función es ufunc en una declaración if, use el numpy.ufunc
valor (o np.ufunc
si usa np como un alias para numpy):
Ejemplo
Use una declaración if para verificar si la función es ufunc o no:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')