NumPy Searching Arrays
Array များကို ရှာဖွေခြင်း။
သတ်မှတ်ထားသောတန်ဖိုးအတွက် array တစ်ခုကို သင်ရှာဖွေနိုင်ပြီး ကိုက်ညီမှုရှိသည့် အညွှန်းများကို ပြန်ပေးနိုင်ပါသည်။
အခင်းအကျင်းတစ်ခုကို ရှာဖွေရန် where()
နည်းလမ်းကို အသုံးပြုပါ။
ဥပမာ
တန်ဖိုး 4 ရှိသည့် အညွှန်းများကို ရှာပါ
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x =
np.where(arr == 4)
print(x)
အထက်ဖော်ပြပါ ဥပမာသည် tuple တစ်ခုကို ပြန်ပေးလိမ့်မည်- (array([3, 5, 6],)
ဆိုလိုသည်မှာ တန်ဖိုး 4 သည် အညွှန်းကိန်း 3၊ 5 နှင့် 6 တွင် ရှိနေပါသည်။
ဥပမာ
တန်ဖိုးများတူညီသည့် အညွှန်းများကို ရှာပါ-
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x =
np.where(arr%2 == 0)
print(x)
ဥပမာ
တန်ဖိုးများ ထူးဆန်းသည့် အညွှန်းများကို ရှာပါ-
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x =
np.where(arr%2 == 1)
print(x)
ရှာရန် စီထားသည်။
array တွင် binary ရှာဖွေမှုကို လုပ်ဆောင် သည့် နည်းလမ်းတစ်ခု ရှိပြီး searchsorted()
ရှာဖွေမှုအစီအစဥ်ကို ထိန်းသိမ်းရန် သတ်မှတ်ထားသော တန်ဖိုးကို ထည့်သွင်းမည့် အညွှန်းကို ပြန်ပေးသည်။
အဆိုပါ searchsorted()
နည်းလမ်းကို စီထားသော array များတွင် အသုံးပြုသည်ဟု ယူဆပါသည်။
ဥပမာ
တန်ဖိုး 7 ကို ထည့်သွင်းသင့်သည့် အညွှန်းကိန်းများကို ရှာဖွေပါ-
import numpy as np
arr = np.array([6,
7, 8, 9])
x =
np.searchsorted(arr, 7)
print(x)
ဥပမာအားဖြင့် ရှင်းပြထားသည်- နံပါတ် 7 သည် အမျိုးအစားအစီအစဥ်အတိုင်း ဆက်ရှိနေစေရန် အညွှန်း 1 တွင် ထည့်သွင်းသင့်သည်။
နည်းလမ်းသည် ဘယ်ဘက်မှ ရှာဖွေမှုကို စတင်ပြီး နံပါတ် 7 သည် နောက်တန်ဖိုးထက် မပိုတော့သည့် ပထမအညွှန်းကို ပြန်ပေးသည်။
ညာဘက်ခြမ်းကနေရှာပါ။
ပုံသေအားဖြင့် ဘယ်ဘက်အညွှန်းကိန်းအများစုကို ပြန်ပေးသည်၊ သို့သော် ၎င်း side='right'
အစား ညာဘက်ဆုံးအညွှန်းကို ပြန်ပေးနိုင်သည်။
ဥပမာ
ညာဘက်မှ စတင်၍ တန်ဖိုး 7 ကို ထည့်သွင်းသင့်သည့် အညွှန်းများကို ရှာပါ-
import numpy as np
arr = np.array([6,
7, 8, 9])
x =
np.searchsorted(arr, 7, side='right')
print(x)
ဥပမာအားဖြင့် ရှင်းပြထားသည်- နံပါတ် 7 ကို အမျိုးအစားအစီအစဥ်အတိုင်း ဆက်ရှိနေစေရန် အညွှန်း 2 တွင် ထည့်သွင်းသင့်သည်။
နည်းလမ်းသည် ညာဘက်မှ ရှာဖွေမှုကို စတင်ပြီး နံပါတ် 7 သည် နောက်တန်ဖိုးထက် မနည်းတော့သည့် ပထမအညွှန်းကို ပြန်ပေးသည်။
တန်ဖိုးများစွာ
တစ်ခုထက်ပိုသောတန်ဖိုးကိုရှာဖွေရန် သတ်မှတ်ထားသောတန်ဖိုးများပါရှိသော array တစ်ခုကိုသုံးပါ။
ဥပမာ
တန်ဖိုး 2၊ 4 နှင့် 6 တို့ကို ထည့်သွင်းသင့်သည့် အညွှန်းကိန်းများကို ရှာဖွေပါ-
import numpy as np
arr = np.array([1,
3, 5, 7])
x =
np.searchsorted(arr, [2, 4, 6])
print(x)
ပြန်ပေးသည့်တန်ဖိုးသည် [1 2 3]
အစီအစဥ်ကိုထိန်းသိမ်းရန် 2၊ 4၊ 6 ကို မူလအခင်းအကျင်းတွင် ထည့်သွင်းမည့် အညွှန်းသုံးခုပါရှိသော array တစ်ခုဖြစ်သည်။