TheProgrammer نشر 21 نوفمبر 2015 أرسل تقرير مشاركة نشر 21 نوفمبر 2015 هل هنالك طريق سهلة مثل دالة أو أي شيء آخر لمعرفة أقرب قيمة لقيمة معينة في مصفوفة (كبيرة) في بايثون؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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] هذه الدالة ستعمل بشكل سريع في المصفوفات الكبيرة ويمكنك بسهولة تغييرها لترتيب المصفوفة إذا كنت غير متأكد من ترتيبها. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
TheProgrammer
هل هنالك طريق سهلة مثل دالة أو أي شيء آخر لمعرفة أقرب قيمة لقيمة معينة في مصفوفة (كبيرة) في بايثون؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.