သင်၏ကိုယ်ပိုင် ufunc ကိုဖန်တီးပါ။
သင့်ကိုယ်ပိုင် ufunc ကိုဘယ်လိုဖန်တီးမလဲ။
သင်ပိုင်ဆိုင်သော ufunc ကိုဖန်တီးရန်၊ သင်သည် Python တွင် ပုံမှန်လုပ်ဆောင်မှုများကဲ့သို့ လုပ်ဆောင်သည့် လုပ်ဆောင်ချက်ကို သတ်မှတ်ရန် လိုအပ်ပြီး ၎င်းကို frompyfunc()
နည်းလမ်းဖြင့် သင်၏ NumPy ufunc စာကြည့်တိုက်တွင် ထည့်သွင်းပါ။
frompyfunc()
နည်းလမ်းသည် အောက်ပါ အကြောင်းပြချက်များကို ယူသည် ။
function
- function ၏အမည်။inputs
- input arguments (arrays) အရေအတွက်။outputs
- output arrays အရေအတွက်။
ဥပမာ
ထို့အပြင် သင့်ကိုယ်ပိုင် ufunc ကိုဖန်တီးပါ။
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]))
Function တစ်ခုသည် ufunc ဟုတ်မဟုတ် စစ်ဆေးပါ။
၎င်းသည် ufunc ဟုတ်မဟုတ် စစ်ဆေးရန် လုပ်ဆောင်ချက်အမျိုးအစားကို စစ်ဆေး ပါ ။
ufunc ပြန်လာသင့်သည် <class 'numpy.ufunc'>
။
ဥပမာ
လုပ်ဆောင်ချက်တစ်ခုသည် ufunc ဟုတ်မဟုတ် စစ်ဆေးပါ-
import numpy as np
print(type(np.add))
၎င်းသည် ufunc မဟုတ်ပါက၊ array နှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော array နှစ်ခုကို ချိတ်ဆက်ရန်အတွက် ဤ built-in NumPy လုပ်ဆောင်ချက်ကဲ့သို့ အခြားသောအမျိုးအစားကို ပြန်ပေးပါမည်။
ဥပမာ
အခြားလုပ်ဆောင်ချက်အမျိုးအစားကို စစ်ဆေးပါ- concatenate():
import numpy as np
print(type(np.concatenate))
လုပ်ဆောင်ချက်ကို လုံးဝအသိအမှတ်မပြုပါက၊ ၎င်းသည် error တစ်ခုပြန်ပေါ်လာလိမ့်မည်-
ဥပမာ
မရှိသောအရာ အမျိုးအစားကို စစ်ဆေးပါ။ ၎င်းသည် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်လာလိမ့်မည်-
import numpy as np
print(type(np.blahblah))
လုပ်ဆောင်ချက်သည် if statement တွင် ufunc ဟုတ်၊ မဟုတ် စမ်းသပ်ရန်၊ numpy.ufunc
တန်ဖိုးကို အသုံးပြုပါ (သို့မဟုတ် np.ufunc
အကယ်၍ သင်သည် np အဖြစ် နံပတ်တစ်ခုအဖြစ် အသုံးပြုပါက-
ဥပမာ
လုပ်ဆောင်ချက်သည် ufunc ဟုတ်မဟုတ် စစ်ဆေးရန် if statement ကိုသုံးပါ-
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')