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 သင်ခန်းစာများကို ဤနေရာတွင် ရှာပါ။

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

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