الباندا: كيفية استخدام طريقة isin () مع طريقة الاستعلام ().
غالبًا قد ترغب في استخدام الدالة isin() في طريقة query() في الباندا لتصفية الصفوف في DataFrame حيث يحتوي العمود على قيمة في القائمة.
يمكنك استخدام بناء الجملة التالي للقيام بذلك:
df. query (' team in ["A", "B", "D"] ')
يقوم هذا الاستعلام المحدد بتصفية الصفوف من DataFrame الباندا حيث يساوي عمود الفريق A أو B أو D.
ملاحظة : نحتاج إلى استخدام in بدلاً من isin عند استخدام طريقة pandas query() .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: استخدم طريقة الاستعلام () لتصفية القيم في القائمة
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مختلف لاعبي كرة السلة:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'E'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18 5 11 1 to 22 7 8 2 B 19 7 10 3 B 14 9 6 4 C 14 12 6 5 C 11 9 5 6 D 20 9 9 7 E 28 4 12
لنفترض الآن أننا نريد العثور على صفوف حيث القيمة الموجودة في عمود الفريق تساوي A أو B أو D.
يمكننا استخدام بناء الجملة التالي للقيام بذلك:
#query for rows where team is in list of specific teams df. query (' team in ["A", "B", "D"] ') team points assists rebounds 0 A 18 5 11 1 to 22 7 8 2 B 19 7 10 3 B 14 9 6 6 D 20 9 9
لاحظ أن الدالة query() ترجع كافة الصفوف حيث القيمة الموجودة في عمود الفريق تساوي A أو B أو D.
لاحظ أيضًا أنه يمكننا تخزين قائمة بأسماء الفرق في متغير ثم الرجوع إلى المتغير في دالة query() باستخدام عامل التشغيل @ :
#create variable to hold specific team names team_names = [" A ", " B ", " D "] #query for rows where team is equal to a team name in team_names variable df. query (' team in @team_names ') team points assists rebounds 0 A 18 5 11 1 to 22 7 8 2 B 19 7 10 3 B 14 9 6 6 D 20 9 92
يقوم الاستعلام بإرجاع كافة الصفوف الموجودة في DataFrame حيث يساوي الفريق أحد أسماء الفرق المخزنة في متغير team_names .
لاحظ أن نتائج هذا الاستعلام تطابق نتائج المثال السابق.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة pandas query() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
الباندا: كيفية تصفية الصفوف بناءً على طول السلسلة
الباندا: كيفية حذف الصفوف بناءً على الحالة
الباندا: كيفية استخدام مرشح “NO IN”.