Numpy.digitize() ကို အသုံးပြု၍ python တွင် variable များကို မည်သို့အုပ်စုဖွဲ့မည်နည်း။
မကြာခဏဆိုသလို သင်သည် Python ရှိ “ bins” တွင် variable ၏တန်ဖိုးများကို ထည့်သွင်းရန် စိတ်ဝင်စားပေမည်။
ကံကောင်းထောက်မစွာ၊ ၎င်းသည် အောက်ပါ syntax ကိုအသုံးပြုသည့် numpy.digitize() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ လုပ်ဆောင်ရန် လွယ်ကူသည်-
numpy.digitize(x၊ bins၊ right=False)
ရွှေ-
- x: အုပ်စုသို့ ခင်းကျင်းထားသည်။
- bins: array of bins။
- ညာဘက်- ကြားကာလများတွင် ဘင်၏ ညာဘက် သို့မဟုတ် ဘယ်ဘက်အစွန်းများ ပါဝင်သည်ဖြစ်စေ ညွှန်ပြသည်။ ပုံမှန်အားဖြင့်၊ ကြားကာလတွင် ညာဘက်အစွန်းမပါဝင်ပါ။
ဤသင်ခန်းစာတွင် ဤလုပ်ဆောင်ချက်ကို လက်တွေ့အသုံးပြုပုံ နမူနာများစွာကို ပြသထားသည်။
ဥပမာ 1: တန်ဖိုးအားလုံးကို bins နှစ်ခုတွင် ထည့်ပါ။
အောက်ဖော်ပြပါ ကုဒ်သည် array တစ်ခု၏ တန်ဖိုးများကို bins နှစ်ခုအဖြစ် မည်သို့ထားရှိရမည်ကို ပြသသည်-
- 0 ဆိုရင် x < 20
- 1 if x ≥ 20
import numpy as np #create data data = [2, 4, 4, 7, 12, 14, 19, 20, 24, 31, 34] #place values into bins n.p. digitize (data, bins=[20]) array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1])
ဥပမာ 2: တန်ဖိုးအားလုံးကို bins သုံးခုတွင် ထည့်ပါ။
အောက်ဖော်ပြပါ ကုဒ်သည် array တစ်ခု၏ တန်ဖိုးများကို bins သုံးခုအဖြစ် မည်သို့ထားရှိရမည်ကို ပြသသည်-
- 0 ဆိုရင် x < 10
- 1 ဆိုရင် 10 ≤ x < 20
- 2 if x ≥ 20
import numpy as np #create data data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34] #place values into bins n.p. digitize (data, bins=[10, 20]) array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])
right= True သတ်မှတ်ပါက တန်ဖိုးများကို အောက်ပါပုံးများတွင် ထည့်ထားမည်ကို သတိပြုပါ။
- 0 if x ≤ 10
- 1 ဆိုရင် 10 < x ≤ 20
- 2 if x > 20
ကြားကာလတစ်ခုစီတွင် ဘင်၏ ညာဘက်အစွန်းများ ပါဝင်သည်။ ဤအရာသည် ပုံသဏ္ဌာန်ဖြစ်သည်-
import numpy as np #createdata data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34] #place values into bins n.p. digitize (data, bins=[10, 20], right= True ) array([0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2])
ဥပမာ 3: တန်ဖိုးအားလုံးကို bins လေးခုတွင် ထည့်ပါ။
အောက်ဖော်ပြပါ ကုဒ်သည် array တစ်ခု၏ တန်ဖိုးများကို bins သုံးခုအဖြစ် မည်သို့ထားရှိရမည်ကို ပြသသည်-
- 0 ဆိုရင် x < 10
- 1 ဆိုရင် 10 ≤ x < 20
- 2 ဆိုလျှင် 20 ≤ x < 30
- 3 if x ≥ 30
import numpy as np #createdata data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34] #place values into bins n.p. digitize (data, bins=[10, 20, 30]) array([0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3])
ဥပမာ 4- ဘင်တစ်ခုစီ၏ ကြိမ်နှုန်းကို ရေတွက်ပါ။
numpy.digitize() လုပ်ဆောင်ချက်ကို ဖြည့်စွက်သည့် နောက်ထပ်အသုံးဝင်သော NumPy လုပ်ဆောင်ချက်မှာ ဘင်တစ်ခုစီ၏ ကြိမ်နှုန်းများကို ရေတွက်သည့် numpy.bincount() လုပ်ဆောင်ချက်ဖြစ်သည်။
အောက်ဖော်ပြပါ ကုဒ်သည် array တစ်ခု၏ တန်ဖိုးများကို အုပ်စုသုံးစုအဖြစ် မည်သို့ထားရှိရမည်ကို ပြသပြီး အုပ်စုတစ်ခုစီ၏ အကြိမ်ရေကို ရေတွက်ပုံ-
import numpy as np #createdata data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34] #place values into bins bin_data = np. digitize (data, bins=[10, 20]) #view binned data bin_data array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2]) #count frequency of each bin n.p. bincount (bin_data) array([4, 2, 5])
ရလဒ်က ကျွန်ုပ်တို့ကို ပြောပြသည်-
- Bin “0” တွင် ဒေတာတန်ဖိုး 4 ခု ပါရှိသည်။
- Bin “1” တွင် ဒေတာတန်ဖိုး 2 ခု ပါရှိသည်။
- Bin “2” တွင် ဒေတာတန်ဖိုး ၅ ခု ပါရှိသည်။
နောက်ထပ် Python သင်ခန်းစာများကို ဤနေရာတွင် ရှာပါ။