Numpy array တွင် elements များကို မည်ကဲ့သို့ မှာယူရမည် (ဥပမာများနှင့်အတူ)


NumPy အခင်းအကျင်းတစ်ခုရှိ အစိတ်အပိုင်းများ၏ အစီအစဥ်များကို တွက်ချက်ရန် အောက်ပါနည်းလမ်းများကို သင်အသုံးပြုနိုင်သည်-

နည်းလမ်း 1- NumPy မှ argsort() ကိုသုံးပါ။

 import numpy as np

ranks = np. array (my_array). argsort (). argsort ()

နည်းလမ်း 2- SciPy ၏ Rankdata() ကိုသုံးပါ

 from scipy. stats import rankdata

ranks = rankdata(my_array)

အောက်ပါနမူနာများသည် အောက်ပါ NumPy array ဖြင့် လက်တွေ့တွင် နည်းလမ်းတစ်ခုစီကို အသုံးပြုနည်းကို ပြသသည်-

 import numpy as np

#define array of values
my_array = np. array ([3, 5, 2, 1, 9, 9])

#view array
print (my_array)

[3 5 2 1 9 9]

ဥပမာ 1- Argsort() ကိုအသုံးပြု၍ NumPy Array တွင် Element များကို စီရန်

အောက်ပါကုဒ်သည် array အစိတ်အပိုင်းများကိုစီရန် NumPy ၏ argsort() လုပ်ဆောင်ချက်ကို အသုံးပြုပုံကို ပြသသည်-

 #calculate rank of each item in array
ranks = np. array (my_array). argsort (). argsort ()

#view ranks
print (ranks)

[2 3 1 0 4 5]

ရလဒ်များသည် အနိမ့်ဆုံးတန်ဖိုးကို ကိုယ်စားပြုသည့် 0 ဖြင့် မူရင်း ခင်းကျင်းရှိ ဒြပ်စင်တစ်ခုစီ၏ အဆင့်ကို ပြသသည်။

ဤချဉ်းကပ်မှု၏ အားသာချက်မှာ နောက်ထပ် module များကို တင်ရန် မလိုအပ်ဘဲ၊ အားနည်းချက်မှာ argsort() သည် လင့်ခ်များကို ကိုင်တွယ်ရန် နည်းလမ်းတစ်ခုသာ ရှိသည်။

မူရင်းအားဖြင့်၊ Argsort() သည် လင့်ခ်များကို ကိုင်တွယ်ရန် ပုံမှန်နည်းလမ်းကို အသုံးပြုသည်၊ ဆိုလိုသည်မှာ ပထမပေါ်လာသော လင့်ခ်တန်ဖိုးသည် အနိမ့်အဆင့်ကို အလိုအလျောက်ပေးသည်ဟု ဆိုလိုသည်။

ဥပမာ 2- Rankdata() ကိုအသုံးပြု၍ NumPy Array တွင် အဆင့်သတ်မှတ်ချက်များ

အောက်ပါကုဒ်သည် array အစိတ်အပိုင်းများကို အဆင့်သတ်မှတ်ရန် SciPy ၏ Rankdata() လုပ်ဆောင်ချက်ကို အသုံးပြုပုံကို ပြသသည်-

 from scipy. stats import rankdata

#calculate rank of each item in array
ranks = rankdata(my_array)

#view ranks
print (ranks)

array([3. , 4. , 2. , 1. , 5.5, 5.5])

ရလဒ်များသည် အသေးငယ်ဆုံးတန်ဖိုးကို ကိုယ်စားပြုသည့် 1 ဖြင့် မူရင်း ခင်းကျင်းရှိ ဒြပ်စင်တစ်ခုစီ၏ အဆင့်ကို ပြသသည်။

0 သည် အသေးငယ်ဆုံးတန်ဖိုးကို ကိုယ်စားပြုလိုပါက၊ တန်ဖိုးတစ်ခုစီမှ 1 ကို နုတ်လိုက်ရုံဖြင့်-

 from scipy. stats import rankdata

#calculate rank of each item in array
ranks = rankdata(my_array) - 1

#view ranks
print (ranks)

[2. 3. 1. 0. 4.5 4.5]

ပုံမှန်အားဖြင့် Rankdata() လုပ်ဆောင်ချက်သည် ဆက်စပ်မှုရှိသော တန်ဖိုးများအားလုံးသို့ ပျမ်းမျှအဆင့်များကို သတ်မှတ်ပေးသည်။

သို့သော်၊ သင်သည် လင့်ခ်များကို ကွဲပြားသောနည်းလမ်းဖြင့် ကိုင်တွယ်ရန် နည်းလမ်းအငြင်းအခုံကို အသုံးပြုနိုင်သည်။

ဥပမာအားဖြင့်၊ အောက်ဖော်ပြပါ ကုဒ်သည် လင့်ခ်စီမံခန့်ခွဲမှုနည်းလမ်းအဖြစ် ordinal ကို မည်သို့အသုံးပြုရမည်ကို ပြသသည်-

 from scipy. stats import rankdata

#calculate rank of each item in array
ranks = rankdata(my_array, method=' ordinal ') - 1

#view ranks
print (ranks)

[2 3 1 0 4 5]

၎င်းသည် NumPy ၏ argsort() method ကဲ့သို့တူညီသောရလဒ်များကိုထုတ်ပေးသည်။

အခြားလင့်ခ်စီမံခန့်ခွဲမှုနည်းလမ်းများတွင် minmax နှင့် သိပ်သည်းမှုတို့ ပါဝင်သည်။

SciPy documentation တွင် နည်းလမ်းတစ်ခုစီကို လေ့လာပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် NumPy တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

NumPy အခင်းအကျင်းမှ ပွားနေသော အစိတ်အပိုင်းများကို မည်ကဲ့သို့ ဖယ်ရှားနည်း
Floats ၏ NumPy အခင်းအကျင်းကို ကိန်းပြည့်အဖြစ်သို့ မည်သို့ပြောင်းလဲမည်နည်း။
NumPy matrix ကို array တစ်ခုသို့ ဘယ်လိုပြောင်းမလဲ။

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်