كيفية البحث عن فهرس القيمة في مصفوفة numpy (مع أمثلة)
يمكنك استخدام الطرق التالية للعثور على موضع الفهرس لقيم محددة في مصفوفة NumPy:
الطريقة الأولى: البحث عن كافة مواضع فهرس القيمة
n.p. where (x== value )
الطريقة الثانية: ابحث عن موضع فهرس القيمة الأول
n.p. where (x== value )[0][0]
الطريقة الثالثة: ابحث عن موضع الفهرس الأول لقيم متعددة
#define values of interest vals = np. array ([ value1 , value2 , value3 ]) #find index location of first occurrence of each value of interest exit = np. argsort (x) go out[np. searchsorted (x, vals, sorter=sorter)]
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.
الطريقة الأولى: البحث عن كافة مواضع فهرس القيمة
يوضح التعليمة البرمجية التالية كيفية العثور على كل موضع فهرس يساوي قيمة معينة في مصفوفة NumPy:
import numpy as np #define array of values x = np. array ([4, 7, 7, 7, 8, 8, 8]) #find all index positions where x is equal to 8 n.p. where (x== 8 ) (array([4, 5, 6]),)
من النتيجة، يمكننا أن نرى أن مواضع الفهرس 4 و 5 و 6 كلها تساوي القيمة 8 .
الطريقة الثانية: ابحث عن موضع فهرس القيمة الأول
يوضح التعليمة البرمجية التالية كيفية العثور على موضع الفهرس الأول الذي يساوي قيمة معينة في مصفوفة NumPy:
import numpy as np #define array of values x = np. array ([4, 7, 7, 7, 8, 8, 8]) #find first index position where x is equal to 8 n.p. where (x== 8 )[0][0] 4
من النتيجة، يمكننا أن نرى أن القيمة 8 تظهر لأول مرة في موضع الفهرس 4.
الطريقة الثالثة: ابحث عن موضع الفهرس الأول لقيم متعددة
يوضح الكود التالي كيفية العثور على موضع الفهرس الأول لقيم متعددة في مصفوفة NumPy:
import numpy as np #define array of values x = np. array ([4, 7, 7, 7, 8, 8, 8]) #define values of interest vals = np. array ([4, 7, 8]) #find index location of first occurrence of each value of interest exit = np. argsort (x) go out[np. searchsorted (x, vals, sorter=sorter)] array([0, 1, 4])
ومن النتيجة يمكننا أن نرى:
- تظهر القيمة 4 أولاً في موضع الفهرس 0.
- تظهر القيمة 7 أولاً في موضع الفهرس 1.
- تظهر القيمة 8 أولاً في موضع الفهرس 4.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ عمليات شائعة أخرى في NumPy:
كيفية تعيين دالة إلى مجموعة NumPy
كيفية تحويل مجموعة NumPy إلى قائمة في بايثون
كيفية حساب حجم المتجه باستخدام NumPy