كيفية تصفية مصفوفة numpy (4 أمثلة)
يمكنك استخدام الطرق التالية لتصفية قيم مصفوفة NumPy:
الطريقة الأولى: تصفية القيم بناءً على شرط واحد
#filter for values less than 5 my_array[my_array < 5 ]
الطريقة الثانية: تصفية القيم باستخدام الشرط “OR”.
#filter for values less than 5 or greater than 9 my_array[(my_array < 5 ) | (my_array > 9 )]
الطريقة الثالثة: تصفية القيم باستخدام الشرط “AND”.
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )]
الطريقة الرابعة: تصفية القيم الموجودة في القائمة
#filter for values that are equal to 2, 3, 5, or 12 my_array[np. in1d (my_array, [2, 3, 5, 12])]
يشرح هذا البرنامج التعليمي كيفية استخدام كل طريقة عمليًا مع مصفوفة NumPy التالية:
import numpy as np
#create NumPy array
my_array = np. array ([1, 2, 2, 3, 5, 6, 7, 10, 12, 14])
#view NumPy array
my_array
array([ 1, 2, 2, 3, 5, 6, 7, 10, 12, 14])
مثال 1: تصفية القيم بناءً على شرط ما
يوضح الكود التالي كيفية تصفية قيم مصفوفة NumPy بناءً على شرط واحد:
#filter for values less than 5 my_array[(my_array < 5 )] array([1, 2, 2, 3]) #filter for values greater than 5 my_array[(my_array > 5 )] array([6,7,10,12,14]) #filter for values equal to 5 my_array[(my_array == 5 )] array([5])
مثال 2: تصفية القيم باستخدام الشرط “OR”.
يوضح الكود التالي كيفية تصفية قيم مصفوفة NumPy باستخدام شرط “OR”:
#filter for values less than 5 or greater than 9 my_array[(my_array < 5 ) | (my_array > 9 )] array([ 1, 2, 2, 3, 10, 12, 14])
يقوم هذا الفلتر بإرجاع قيم صفيف NumPy أقل من 5 أو أكبر من 9.
مثال 3: تصفية القيم باستخدام الشرط “AND”.
يوضح الكود التالي كيفية تصفية قيم مصفوفة NumPy باستخدام شرط “AND”:
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )] array([6, 7])
يقوم هذا الفلتر بإرجاع قيم من مصفوفة NumPy أكبر من 5 وأقل من 9.
المثال 4: تصفية القيم الموجودة في القائمة
يوضح الكود التالي كيفية تصفية قيم مصفوفة NumPy الموجودة في القائمة:
#filter for values that are equal to 2, 3, 5, or 12 my_array[np. in1d (my_array, [2, 3, 5, 12])] array([ 2, 2, 3, 5, 12])
يقوم هذا الفلتر بإرجاع القيم المساوية 2 أو 3 أو 5 أو 12 فقط.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة NumPy in1d() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية إجراء عمليات التصفية الشائعة الأخرى في بايثون:
كيفية تصفية صفوف Pandas DataFrame التي تحتوي على سلسلة معينة
كيفية تصفية Pandas DataFrame بشروط متعددة
كيفية استخدام مرشح “NOT IN” في Pandas DataFrame