TheProgrammer نشر 21 نوفمبر 2015 أرسل تقرير نشر 21 نوفمبر 2015 هل هنالك طريق سهلة مثل دالة أو أي شيء آخر لمعرفة أقرب قيمة لقيمة معينة في مصفوفة (كبيرة) في بايثون؟ اقتباس
0 هشام رزق الله نشر 21 نوفمبر 2015 أرسل تقرير نشر 21 نوفمبر 2015 هنالك طرق متعددة لمعرفة أقرب قيمة لقيمة معينة في مصفوفة في بايثون حسب حالة المصفوفة، فإذا كانت المصفوفة مرتبة وكبيرة للغاية فأسرع حل هو استخدام دالة تأخذ معاملين؛ الأول المصفوفة والثانية القيمة التي تريد البحث عن أقرب رقم لها في المصفوفة: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] هذه الدالة ستعمل بشكل سريع في المصفوفات الكبيرة ويمكنك بسهولة تغييرها لترتيب المصفوفة إذا كنت غير متأكد من ترتيبها. اقتباس
0 Ali Haidar Ahmad نشر 2 أبريل 2022 أرسل تقرير نشر 2 أبريل 2022 يمكنك إنجاز ذلك بطريقة أفضل وأسرع بكثير وأبسط، بالشكل التالي: import numpy as np def closest(arr, K): return (np.abs(arr - K)).argmin() مثلاً: arr = np.array([3.64, 5.2, 9.42, 9.35, 8.5, 8]) K = 9.1 print(closest(arr, K)) # 9.35 اقتباس
السؤال
TheProgrammer
هل هنالك طريق سهلة مثل دالة أو أي شيء آخر لمعرفة أقرب قيمة لقيمة معينة في مصفوفة (كبيرة) في بايثون؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.