Crie seu próprio ufunc
Como criar seu próprio ufunc
Para criar seu próprio ufunc, você precisa definir uma função, como você faz com funções normais em Python, e então adicioná-la à sua biblioteca NumPy ufunc com o frompyfunc()
método .
O frompyfunc()
método recebe os seguintes argumentos:
function
- o nome da função.inputs
- o número de argumentos de entrada (matrizes).outputs
- o número de matrizes de saída.
Exemplo
Crie seu próprio ufunc para adição:
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]))
Verifique se uma função é um ufunc
Verifique o tipo de uma função para verificar se é um ufunc ou não.
Um ufunc deve retornar <class 'numpy.ufunc'>
.
Exemplo
Verifique se uma função é um ufunc:
import numpy as np
print(type(np.add))
Se não for um ufunc, ele retornará outro tipo, como esta função NumPy integrada para unir dois ou mais arrays:
Exemplo
Verifique o tipo de outra função: concatenate():
import numpy as np
print(type(np.concatenate))
Se a função não for reconhecida, ela retornará um erro:
Exemplo
Verifique o tipo de algo que não existe. Isso produzirá um erro:
import numpy as np
print(type(np.blahblah))
Para testar se a função é um ufunc em uma instrução if, use o numpy.ufunc
valor (ou np.ufunc
se você usar np como um alias para numpy):
Exemplo
Use uma instrução if para verificar se a função é ufunc ou não:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')