Kendi Ufunc'unuzu Yaratın
Kendi Ufunc'unuzu Nasıl Yaratabilirsiniz?
Kendi ufunc'unuzu yaratmak için, Python'daki normal işlevlerde yaptığınız gibi bir işlev tanımlamanız ve ardından onu yöntemle NumPy ufunc kitaplığınıza eklemeniz gerekir frompyfunc()
.
Yöntem frompyfunc()
aşağıdaki argümanları alır:
function
- işlevin adı.inputs
- giriş argümanlarının (dizilerin) sayısı.outputs
- çıktı dizilerinin sayısı.
Örnek
Eklemek için kendi ufunc'unuzu oluşturun:
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]))
Bir İşlevin bir ufunc olup olmadığını kontrol edin
Bir ufunc olup olmadığını kontrol etmek için bir işlevin türünü kontrol edin.
Bir ufunc dönmelidir <class 'numpy.ufunc'>
.
Örnek
Bir işlevin ufunc olup olmadığını kontrol edin:
import numpy as np
print(type(np.add))
Bir ufunc değilse, iki veya daha fazla diziyi birleştirmek için bu yerleşik NumPy işlevi gibi başka bir tür döndürür:
Örnek
Başka bir işlevin türünü kontrol edin: concatenate():
import numpy as np
print(type(np.concatenate))
İşlev hiç tanınmazsa, bir hata döndürür:
Örnek
Var olmayan bir şeyin türünü kontrol edin. Bu bir hata üretecektir:
import numpy as np
print(type(np.blahblah))
Bir if ifadesinde işlevin bir ufunc olup olmadığını test etmek için numpy.ufunc
değeri kullanın (veya np.ufunc
numpy için takma ad olarak np kullanıyorsanız):
Örnek
İşlevin bir ufunc olup olmadığını kontrol etmek için bir if ifadesi kullanın:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')