• 0

كيف أجد القيمة الأقرب في مصفوفة numpy في بايثون؟

هل هنالك طريق سهلة مثل دالة أو أي شيء آخر لمعرفة أقرب قيمة لقيمة معينة في مصفوفة (كبيرة) في بايثون؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك طرق متعددة لمعرفة أقرب قيمة لقيمة معينة في مصفوفة في بايثون حسب حالة المصفوفة، فإذا كانت المصفوفة مرتبة وكبيرة للغاية فأسرع حل هو استخدام دالة تأخذ معاملين؛ الأول المصفوفة والثانية القيمة التي تريد البحث عن أقرب رقم لها في المصفوفة:

def find_nearest(array,value):
    idx = np.searchsorted(array, value, side="left")
    if math.fabs(value - array[idx-1]) < math.fabs(value - array[idx]):
        return array[idx-1]
    else:
        return array[idx]

هذه الدالة ستعمل بشكل سريع في المصفوفات الكبيرة ويمكنك بسهولة تغييرها لترتيب المصفوفة إذا كنت غير متأكد من ترتيبها.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن