الباندا: كيفية استخدام like في الاستعلام ()
يمكنك استخدام الطرق التالية لاستخدام LIKE (مشابه لـ SQL) في دالة pandas query() للعثور على صفوف تحتوي على نمط معين:
الطريقة الأولى: البحث عن الصفوف التي تحتوي على نمط
df. query (' my_column.str.contains("pattern1") ')
الطريقة الثانية: البحث عن الصفوف التي تحتوي على أحد الأنماط المتعددة
df. query (' my_column.str.contains("pattern1|pattern2") ')
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع الباندا DataFrame التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Cavs', 'Heat', 'Mavs', 'Mavs', 'Nets', 'Heat', 'Cavs', 'Jazz', 'Jazz', 'Hawks'], ' points ': [3, 3, 4, 5, 4, 7, 8, 7, 12, 14], ' rebounds ': [15, 14, 14, 10, 8, 14, 13, 9, 5, 4]}) #view DataFrame print (df) team points rebounds 0 Cavs 3 15 1 Heat 3 14 2 Mavs 4 14 3 Mavs 5 10 4 Nets 4 8 5 Heat 7 14 6 Cavs 8 13 7 Jazz 7 9 8 Jazz 12 5 9 Hawks 14 4
المثال 1: البحث عن صفوف تحتوي على نمط
يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة query() للعثور على كافة الصفوف في DataFrame التي تحتوي على “avs” في عمود الفريق :
df. query (' team.str.contains("avs") ') team points rebounds 0 Cavs 3 15 2 Mavs 4 14 3 Mavs 5 10 6 Cavs 8 13
يحتوي كل صف تم إرجاعه على “avs” في مكان ما في عمود الفريق .
لاحظ أيضًا أن بناء الجملة هذا حساس لحالة الأحرف.
لذا، إذا استخدمنا “AVS” بدلاً من ذلك، فلن نتلقى أي نتائج لأنه لا توجد صفوف بأحرف كبيرة “AVS” في عمود الفريق .
المثال 2: البحث عن صفوف تحتوي على أحد الأنماط المتعددة
يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة query() للعثور على كافة الصفوف في DataFrame التي تحتوي على “avs” أو “eat” في عمود الفريق :
df. query (' team.str.contains("avs|eat") ') team points rebounds 0 Cavs 3 15 1 Heat 3 14 2 Mavs 4 14 3 Mavs 5 10 5 Heat 7 14 6 Cavs 8 13
يحتوي كل صف تم إرجاعه على “avs” أو “eat” في مكان ما في عمود الفريق .
ملاحظة : | المشغل يعني “أو” في الباندا. لا تتردد في استخدام العدد الذي تريده للبحث عن المزيد من تصميمات القنوات.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
الباندا: كيفية تصفية الصفوف بناءً على طول السلسلة
الباندا: كيفية حذف الصفوف بناءً على الحالة
الباندا: كيفية استخدام مرشح “NO IN”.