NumPy ufuncs
ufuncs ဆိုတာ ဘာလဲ။
ufuncs သည် "Universal Functions" ကို အတိုကောက်ဖြစ်ပြီး ၎င်းတို့သည် အ ndarray
ရာဝတ္တုပေါ်တွင် လုပ်ဆောင်သည့် NumPy လုပ်ဆောင်ချက်များဖြစ်သည်။
ဘာကြောင့် ufuncs ကိုသုံးတာလဲ။
ufuncs ကို NumPy တွင် vectorization ကိုအကောင်အထည်ဖော်ရန်အသုံးပြုသည်မှာ element များကိုထပ်ခြင်းထက်ပိုမိုမြန်ဆန်သည်။
၎င်းတို့သည် တွက်ချက်မှုအတွက် အလွန်အထောက်အကူဖြစ်စေသော လျှော့ချခြင်း၊ စုပုံခြင်း စသည်တို့ကဲ့သို့သော ရုပ်သံလွှင့်ခြင်းနှင့် ထပ်လောင်းနည်းလမ်းများကို ပေးဆောင်ပါသည်။
ufuncs သည် အောက်ပါကဲ့သို့ ထပ်လောင်းအငြင်းအခုံများကို ယူပါသည်။
where
လည်ပတ်လုပ်ဆောင်သင့်သည့်နေရာတွင် boolean array သို့မဟုတ် condition ကိုသတ်မှတ်ခြင်း။
dtype
ပြန်လာမည့်ဒြပ်စင်အမျိုးအစားကို သတ်မှတ်ခြင်း။
out
ပြန်လာတန်ဖိုးကို ကူးယူသင့်သည့် အထွက်အခင်း။
Vectorization ဆိုတာဘာလဲ။
ထပ်ကာထပ်ကာဖော်ပြချက်များကို vector ကိုအခြေခံသည့်လုပ်ဆောင်မှုအဖြစ်သို့ပြောင်းလဲခြင်းကို vectorization ဟုခေါ်သည်။
ခေတ်မီ CPU များသည် ထိုသို့သော လုပ်ဆောင်ချက်များအတွက် အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသောကြောင့် ၎င်းသည် ပိုမိုမြန်ဆန်ပါသည်။
စာရင်းနှစ်ခု၏ဒြပ်စင်များကိုထည့်ပါ။
စာရင်း ၁- [၁၊ ၂၊ ၃၊ ၄]
စာရင်း 2- [4၊ 5၊ 6၊ 7]
လုပ်နည်းတစ်နည်းမှာ စာရင်းနှစ်ခုစလုံးကို ထပ်ခါထပ်ခါလုပ်ပြီး အစိတ်အပိုင်းတစ်ခုစီကို ပေါင်းစည်းရန်ဖြစ်သည်။
ဥပမာ
zip()
ufunc မပါဘဲ၊ Python ၏ built-in နည်းလမ်းကို သုံးနိုင်သည် ။
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
for i, j in zip(x, y):
z.append(i + j)
print(z)
NumPy တွင် ၎င်းအတွက် ufunc ရှိပြီး add(x, y)
တူညီသောရလဒ်ကို ထုတ်ပေးမည့်ဟုခေါ်သည်။
ဥပမာ
ufunc ဖြင့်၊ ကျွန်ုပ်တို့သည် add()
လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။
import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)