NumPy Array Iterating
ထပ်လောင်း Arrays
Iterating ဆိုသည်မှာ အစိတ်အပိုင်းများ တစ်ခုပြီးတစ်ခု ဖြတ်သန်းသွားခြင်းကို ဆိုလိုသည်။
numpy တွင် multi-dimensional array များကိုကျွန်ုပ်တို့ကိုင်တွယ်ဖြေရှင်းသောအခါ၊
for
python ၏အခြေခံ loop ကိုအသုံးပြု၍ ၎င်းကိုလုပ်ဆောင်နိုင်သည်။
1-D အခင်းအကျင်းတွင် ကျွန်ုပ်တို့ ထပ်လုပ်ပါက ၎င်းသည် ဒြပ်စင်တစ်ခုစီကို တစ်ခုပြီးတစ်ခု ဖြတ်သန်းသွားမည်ဖြစ်သည်။
ဥပမာ
အောက်ပါ 1-D အခင်းအကျင်း၏ အစိတ်အပိုင်းများကို ထပ်လောင်းဖော်ပြပါ-
import numpy as np
arr = np.array([1, 2, 3])
for x in arr:
print(x)
2-D Array များကို ထပ်ခါထပ်ခါ ပြုလုပ်ခြင်း။
2-D အခင်းအကျင်းတစ်ခုတွင် ၎င်းသည် အတန်းအားလုံးကို ဖြတ်သန်းသွားမည်ဖြစ်သည်။
ဥပမာ
အောက်ပါ 2-D အခင်းအကျင်း၏ အစိတ်အပိုင်းများကို ထပ်လောင်းဖော်ပြပါ-
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x
in arr:
print(x)
n -D array တစ်ခု ပေါ်တွင် ထပ် လုပ်ပါက n-1th dimension ကို တစ်ခုပြီးတစ်ခု ဖြတ်သန်းသွားပါမည်။
အမှန်တကယ်တန်ဖိုးများ၊ စကေးများကို ပြန်ပေးရန်အတွက်၊ ကျွန်ုပ်တို့သည် အတိုင်းအတာတစ်ခုစီရှိ arrays များကို ထပ်ခါတလဲလဲလုပ်ရပါမည်။
ဥပမာ
2-D အခင်းအကျင်း၏ စကေးဒြပ်စင်တစ်ခုစီတွင် ထပ်လောင်းဖော်ပြပါ-
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x
in arr:
for y in x:
print(y)
3-D Array များကို ထပ်လောင်းခြင်း
3-D array တစ်ခုတွင် ၎င်းသည် 2-D array အားလုံးကို ဖြတ်သန်းမည်ဖြစ်သည်။
ဥပမာ
အောက်ပါ 3-D အခင်းအကျင်း၏ အစိတ်အပိုင်းများကို ထပ်လောင်းဖော်ပြပါ-
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9],
[10, 11, 12]]])
for x
in arr:
print(x)
အမှန်တကယ်တန်ဖိုးများ၊ စကေးများကို ပြန်ပေးရန်အတွက်၊ ကျွန်ုပ်တို့သည် အတိုင်းအတာတစ်ခုစီရှိ arrays များကို ထပ်ခါတလဲလဲလုပ်ရပါမည်။
ဥပမာ
အကြေးခွံများအထိ ထပ်လောင်းပါ။
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9],
[10, 11, 12]]])
for x
in arr:
for y in x:
for z in y:
print(z)
nditer() ကိုအသုံးပြု၍ Array များကို ထပ်တလဲလဲလုပ်ခြင်း
လုပ်ဆောင်ချက် nditer()
သည် အခြေခံမှသည် အလွန်အဆင့်မြင့်သော အကြိမ်များအထိ အသုံးပြုနိုင်သည့် အကူအညီပေးသည့် လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ထပ်ခါထပ်ခါ ကြုံတွေ့နေရသော အခြေခံပြဿနာအချို့ကို ဖြေရှင်းပေးသည်၊ ဥပမာများဖြင့် ၎င်းကိုဖြတ်သန်းကြပါစို့။
Scalar Element တစ်ခုစီတွင် ထပ်လောင်းခြင်း
အခြေခံ for
loops များတွင်၊ array တစ်ခုစီ၏ scalar တစ်ခုစီကို ထပ်ကာထပ်
ကာ ပြုလုပ်ရန် အလွန်မြင့်မားသော dimensionity ရှိသော arrays အတွက် ရေးသားရန် ခက်ခဲနိုင်သည့် n loops ကို အသုံးပြုရန်လိုအပ်ပါသည်။
for
ဥပမာ
အောက်ပါ 3-D အခင်းအကျင်းအားဖြင့် ထပ်တလဲလဲလုပ်ပါ။
import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
for x in np.nditer(arr):
print(x)
မတူညီသောဒေတာအမျိုးအစားများဖြင့် ထပ်တလဲလဲ Array ပြုလုပ်ခြင်း။
op_dtypes
ကျွန်ုပ်တို့သည် အငြင်းအခုံ ကို အသုံးပြုပြီး ထပ်ကာထပ်ကာ ပြုလုပ်နေစဉ်တွင် ဒြပ်စင်များ၏ ဒေတာအမျိုးအစားကို ပြောင်းလဲရန် မျှော်လင့်ထားသော ဒေတာအမျိုးအစားကို ကျော်ဖြတ်နိုင်ပါသည်။
NumPy သည် နေရာတွင် (ဒြပ်စင် array တွင်ရှိနေသည့်) ဒြပ်စင်၏ ဒေတာအမျိုးအစားကို မပြောင်းလဲသောကြောင့် ဤလုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရန် အခြားနေရာလိုအပ်သည်၊ ထိုအပိုနေရာအား ကြားခံဟုခေါ်သည်၊ nditer()
၎င်းကို ကျွန်ုပ်တို့ဖြတ်သန်းရန် အတွက် ၎င်းကိုဖွင့်ရန် flags=['buffered']
။
ဥပမာ
အခင်းအကျင်းမှတဆင့် မျဉ်းကြောင်းတစ်ခုအဖြစ် ထပ်လုပ်ပါ-
import numpy as np
arr = np.array([1, 2, 3])
for x in
np.nditer(arr, flags=['buffered'], op_dtypes=['S']):
print(x)
မတူညီသော အဆင့်အရွယ်အစားဖြင့် ထပ်လောင်းခြင်း။
ကျွန်ုပ်တို့သည် စစ်ထုတ်ခြင်းကို သုံးနိုင်ပြီး ထပ်ကာထပ်ကာဖြင့် လုပ်ဆောင်နိုင်သည်။
ဥပမာ
2D အခင်းအကျင်း၏ စကေးဒြပ်စင်တိုင်းကို ကျော်သွားခြင်း 1 ဒြပ်စင်ကို ထပ်လုပ်ပါ-
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for x in np.nditer(arr[:, ::2]):
print(x)
ndenumerate() ကို အသုံးပြု၍ ထပ်ကာထပ်ကာ စာရင်းကောက်ခြင်း၊
Enumeration ဆိုသည်မှာ တစ်စုံတစ်ခု၏ နံပါတ်စဉ်များကို တစ်ခုပြီးတစ်ခု ဖော်ပြခြင်းဖြစ်သည်။
တစ်ခါတရံတွင် ကျွန်ုပ်တို့သည် ထပ်လောင်းလုပ်ဆောင်နေချိန်တွင် ဒြပ်စင်၏ ဆက်စပ်အညွှန်းကို လိုအပ်သည်၊ ထို ndenumerate()
နည်းလမ်းကို ထိုအသုံးပြုမှုများအတွက် အသုံးပြုနိုင်သည်။
ဥပမာ
အောက်ပါ 1D အခင်းအကျင်း အစိတ်အပိုင်းများကို စာရင်းပေးသွင်းပါ-
import numpy as np
arr = np.array([1, 2, 3])
for idx, x in
np.ndenumerate(arr):
print(idx, x)
ဥပမာ
အောက်ပါ 2D array ၏ဒြပ်စင်များကို စာရင်းပေးသွင်းပါ-
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for idx, x in np.ndenumerate(arr):
print(idx, x)