Crea il tuo ufunc
Come creare il tuo ufunc
Per creare il tuo ufunc, devi definire una funzione, come fai con le normali funzioni in Python, quindi aggiungerla alla tua libreria NumPy ufunc con il frompyfunc()
metodo.
Il frompyfunc()
metodo accetta i seguenti argomenti:
function
- il nome della funzione.inputs
- il numero di argomenti di input (array).outputs
- il numero di array di output.
Esempio
Crea il tuo ufunc per l'aggiunta:
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]))
Controlla se una funzione è un ufunc
Controllare il tipo di una funzione per verificare se è un ufunc o meno.
Un ufunc dovrebbe tornare <class 'numpy.ufunc'>
.
Esempio
Controlla se una funzione è un ufunc:
import numpy as np
print(type(np.add))
Se non è un ufunc, restituirà un altro tipo, come questa funzione NumPy incorporata per unire due o più array:
Esempio
Controlla il tipo di un'altra funzione: concatenate():
import numpy as np
print(type(np.concatenate))
Se la funzione non viene affatto riconosciuta, restituirà un errore:
Esempio
Controlla il tipo di qualcosa che non esiste. Questo produrrà un errore:
import numpy as np
print(type(np.blahblah))
Per verificare se la funzione è un ufunc in un'istruzione if, usa il numpy.ufunc
valore (o np.ufunc
se usi np come alias per numpy):
Esempio
Usa un'istruzione if per verificare se la funzione è un ufunc o meno:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')