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:

  1. function- işlevin adı.
  2. inputs- giriş argümanlarının (dizilerin) sayısı.
  3. 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.ufuncdeğeri kullanın (veya np.ufuncnumpy 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')