NumPy Array ကို ပြန်လည်ပုံဖော်ခြင်း။
ခင်းကျင်းမှုများကို ပြန်လည်ပုံဖော်ခြင်း။
Reshaping ဆိုသည်မှာ array တစ်ခု၏ ပုံသဏ္ဍာန်ကို ပြောင်းလဲခြင်းဖြစ်သည်။
Array တစ်ခု၏ ပုံသဏ္ဍာန်သည် အတိုင်းအတာတစ်ခုစီရှိ ဒြပ်စင်အရေအတွက်ဖြစ်သည်။
ပြန်လည်ပုံဖော်ခြင်းဖြင့် ကျွန်ုပ်တို့သည် အတိုင်းအတာတစ်ခုစီရှိ အတိုင်းအတာများကို ထည့်ရန် သို့မဟုတ် ဖယ်ရှားနိုင်သည် သို့မဟုတ် အတိုင်းအတာတစ်ခုစီရှိ ဒြပ်စင်အရေအတွက်ကို ပြောင်းလဲနိုင်သည်။
1-D မှ 2-D သို့ ပြန်လည်ပုံဖော်ပါ။
ဥပမာ
အောက်ပါ 1-D အခင်းအကျင်းကို ဒြပ်စင် 12 ခုဖြင့် 2-D အခင်းအကျင်းအဖြစ်သို့ ပြောင်းပါ။
အပြင်ဘက်ဆုံးအတိုင်းအတာတွင် အခင်းအကျင်း 4 ခုရှိမည်ဖြစ်ပြီး တစ်ခုစီတွင် ဒြပ်စင် 3 ခုပါရှိသည်-
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12])
newarr = arr.reshape(4, 3)
print(newarr)
1-D မှ 3-D သို့ ပြန်လည်ပုံဖော်ပါ။
ဥပမာ
အောက်ပါ 1-D အခင်းအကျင်းကို ဒြပ်စင် 12 ခုဖြင့် 3-D အခင်းအကျင်းအဖြစ်သို့ ပြောင်းပါ။
အပြင်ဘက်ဆုံးအတိုင်းအတာတွင် အခင်းအကျင်း 3 ခုပါရှိသော array 2 ခုရှိမည်ဖြစ်ပြီး တစ်ခုစီတွင် element 2 ခုပါရှိသည်-
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12])
newarr = arr.reshape(2, 3, 2)
print(newarr)
ကျွန်ုပ်တို့သည် မည်သည့်ပုံသဏ္ဍာန်သို့ ပြောင်းလဲနိုင်မည်နည်း။
ဟုတ်ကဲ့၊ ပြန်လည်ပုံဖော်ရန်အတွက် လိုအပ်သော အစိတ်အပိုင်းများသည် ပုံသဏ္ဍာန်နှစ်ခုလုံးတွင် တူညီနေသမျှကာလပတ်လုံး၊
ကျွန်ုပ်တို့သည် ဒြပ်စင် 8 ခုကို 1D ခင်းကျင်းခြင်းကို 2 အတန်း 2D ခင်းကျင်းတွင် ဒြပ်စင် 4 ခုအဖြစ်သို့ ပြန်လည်ပုံဖော်နိုင်သော်လည်း ၎င်းကို 3x3 = 9 ဒြပ်စင်များ လိုအပ်သည့်အတွက် 3x3 = 9 ဒြပ်စင်များအဖြစ်သို့ ပြောင်းလဲ၍မရပါ။
ဥပမာ
အတိုင်းအတာတစ်ခုစီရှိ ဒြပ်စင် 3 ခုပါသည့် 1D အခင်းအကျင်း 8 ခုပါသော 2D အခင်းအကျင်းသို့ စမ်းကြည့်ပါ (အမှားတစ်ခုတက်လာပါမည်)
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(3, 3)
print(newarr)
ကော်ပီ သို့မဟုတ် ကြည့်ရှုခြင်းကို ပြန်ပေးမလား။
ဥပမာ
ပြန်ပေးထားသော ခင်းကျင်းသည် မိတ္တူ သို့မဟုတ် မြင်ကွင်းတစ်ခု ဟုတ်မဟုတ် စစ်ဆေးပါ-
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
print(arr.reshape(2, 4).base)
အထက်ဖော်ပြပါ ဥပမာသည် မူရင်း array ကို ပြန်ပေးသည်၊ ထို့ကြောင့် ၎င်းသည် view တစ်ခုဖြစ်သည်။
အမည်မသိ အတိုင်းအတာ
သင့်တွင် "အမည်မသိ" အတိုင်းအတာတစ်ခုရှိရန် ခွင့်ပြုထားသည်။
ပြန်လည်ပုံသဏ္ဍာန်နည်းလမ်းရှိ အတိုင်းအတာတစ်ခုအတွက် ကိန်းဂဏန်းအတိအကျကို သင်သတ်မှတ်ရန်မလိုဟု ဆိုလိုသည်။
-1
တန်ဖိုးအဖြစ် Pass လုပ်ပြီး NumPy သည် ဤနံပါတ်ကို သင့်အတွက် တွက်ချက်ပေးမည်ဖြစ်သည်။
ဥပမာ
ဒြပ်စင် 8 ခုပါသော 1D အခင်းအကျင်းကို 2x2 ဒြပ်စင်များဖြင့် 3D အခင်းအကျင်းသို့ ပြောင်းပါ-
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(2, 2, -1)
print(newarr)
မှတ်ချက်--1
ကျွန်ုပ်တို့သည် အတိုင်းအတာတစ်ခုထက်ပို၍ မဖြတ်သန်းနိုင်ပါ ။
ခင်းကျင်းမှုများကို ချောမွေ့စေခြင်း။
Flattening array ဆိုသည်မှာ multidimensional array တစ်ခုကို 1D array အဖြစ်သို့ ပြောင်းလဲခြင်း ဖြစ်သည်။
reshape(-1)
ဒါကိုလုပ်ဖို့ ကျွန်တော်တို့ သုံးနိုင်တယ် ။
ဥပမာ
array ကို 1D array အဖြစ်ပြောင်းပါ
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
newarr
= arr.reshape(-1)
print(newarr)
မှတ်ချက်- numpy တွင် arrays များ၏ ပုံသဏ္ဍာန်များကို ပြောင်းလဲခြင်း flatten
နှင့် ravel
ဒြပ်စင်များ , , စသည်တို့ကို ပြန်လည်စီစဉ်ခြင်းအတွက် rot90
လုပ်ဆောင်ချက်များ flip
များစွာ fliplr
ရှိပါသည် ။ ၎င်းတို့သည် numpy flipud
၏ အလယ်အလတ်မှ အဆင့်မြင့် ကဏ္ဍအောက်တွင် ရှိသည်။