البحث في مجموعات NumPy
- الصفحة السابقة تجزئة مجموعات NumPy
- الصفحة التالية ترتيب مجموعات NumPy
البحث في المجموعة
يمكنك البحث (استرجاع) عن قيمة معينة في المجموعة وتحصل على الفهارس التي تتطابق معها.
للبحث في المجموعة، استخدم where()
الطريقة.
حالة
البحث عن الفهرس للقيمة 4:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 4, 4]) x = np.where(arr == 4) print(x)
في المثال السابق سيتم إرجاع زوج:(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)
البحث الدوري
هناك اسم searchsorted()
الطريقة، التي تنفذ البحث الثنائي في المجموعة وتعيد فهرس التثبيت الذي سيتم فيه إدراج القيمة المحددة للحفاظ على ترتيب البحث.
يتوقع searchsorted()
يستخدم هذا الأسلوب لترتيب المجموعات.
حالة
البحث عن الموقع الذي يجب إدراجه فيه القيمة 7:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7) print(x)
شرح المثال:يجب إدراج الرقم 7 في الموقع 1 للحفاظ على الترتيب.
يبدأ هذا الأسلوب بالبحث من الجانب الأيسر، ويعود إلى أول المؤشر الذي يوقف فيه الرقم 7 عن أن يكون أكبر من القيمة التالية.
البحث من الجانب الأيمن
بالت defaultManager، يتم إرجاع أحدث المؤشر، ولكن يمكننا تحديده 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 عن أن يكون أقل من القيمة التالية.
قيم متعددة
للبحث عن قيم متعددة، استخدم مجموعة تحتوي على القيم المحددة.
حالة
البحث عن المكان الذي يجب إدراج القيم 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 في القائمة الأصلية للحفاظ على الترتيب.
- الصفحة السابقة تجزئة مجموعات NumPy
- الصفحة التالية ترتيب مجموعات NumPy