كيفية استخدام numpy where() مع شروط متعددة
يمكنك استخدام الطرق التالية لاستخدام الدالة NumPywhere() بشروط متعددة:
الطريقة الأولى: استخدم Where() مع OR
#select values less than five or greater than 20 x[np. where ((x < 5) | (x > 20))]
الطريقة الثانية: استخدم Where() مع AND
#select values greater than five and less than 20 x[np. where ((x > 5) & (x < 20))]
يوضح المثال التالي كيفية استخدام كل طريقة عمليًا.
الطريقة الأولى: استخدم Where() مع OR
يوضح التعليمة البرمجية التالية كيفية تحديد كل قيمة في مصفوفة NumPy أقل من 5 أو أكبر من 20:
import numpy as np #define NumPy array of values x = np. array ([1, 3, 3, 6, 7, 9, 12, 13, 15, 18, 20, 22]) #select values that meet one of two conditions x[np. where ((x < 5) | (x > 20))] array([ 1, 3, 3, 22])
لاحظ أن أربع قيم في مصفوفة NumPy كانت أقل من 5 أو أكبر من 20.
يمكنك أيضًا استخدام دالة الحجم للعثور ببساطة على عدد القيم التي تلبي أحد الشروط:
#find number of values that are less than 5 or greater than 20
(x[np. where ((x < 5) | (x > 20))]). size
4
الطريقة الثانية: استخدم Where() مع AND
يوضح التعليمة البرمجية التالية كيفية تحديد كل قيمة من مصفوفة NumPy أكبر من 5 وأقل من 20:
import numpy as np #define NumPy array of values x = np. array ([1, 3, 3, 6, 7, 9, 12, 13, 15, 18, 20, 22]) #select values that meet two conditions x[np. where ((x > 5) & (x < 20))] array([6, 7, 9, 12, 13, 15, 18])
يعرض مصفوفة الإخراج القيم السبع من مصفوفة NumPy الأصلية التي كانت أكبر من 5 وأقل من 20.
مرة أخرى، يمكنك استخدام دالة الحجم لتحديد عدد القيم التي تستوفي كلا الشرطين:
#find number of values that are greater than 5 and less than 20
(x[np. where ((x > 5) & (x < 20))]). size
7
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ عمليات شائعة أخرى في NumPy:
كيفية حساب وضع مجموعة NumPy
كيفية العثور على فهرس القيمة في مجموعة NumPy
كيفية تعيين دالة إلى مجموعة NumPy