الباندا: كيفية الاستعلام عن اسم عمود بمسافة
يمكنك استخدام بناء الجملة التالي لإجراء استعلام الباندا باستخدام اسم عمود مع مسافة:
df. query (' `this column` == 20 ')
لاحظ أنه يجب عليك استخدام علامات الاقتباس ( ` ) في الاستعلام بدلاً من علامات الاقتباس المزدوجة.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: عمود الاستعلام في Pandas DataFrame مع مسافة
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مختلف لاعبي كرة السلة:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], ' points scored ': [12, 20, 40, 20, 24, 10, 31]}) #view DataFrame print (df) team points scored 0 to 12 1 B 20 2 C 40 3 D 20 4 E 24 5 F 10 6 G 31
لنفترض الآن أننا نريد الاستعلام عن الصفوف التي يساوي فيها عمود النقاط المحددة 20.
إذا استخدمنا الدالة query() مع علامات الاقتباس، فسوف نتلقى خطأً:
#attempt to get rows where points scored column is equal to 20 df. query (' "points scored" == 20 ') TypeError: argument of type 'int' is not iterable
بدلًا من ذلك، نحتاج إلى استخدام الدالة query() مع علامات التحديد الخلفية:
#get rows where points scored column is equal to 20 df. query (' `points scored` == 20 ') team points scored 1 B 20 3 D 20
يقوم الاستعلام بإرجاع صفين من DataFrame حيث يساوي عمود النقاط المميزة 20.
لاحظ أننا لا نتلقى أي أخطاء إما لأننا استخدمنا علامات الاقتباس بدلاً من علامات الاقتباس في الدالة query() .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
الباندا: كيفية تصفية الصفوف بناءً على طول السلسلة
الباندا: كيفية حذف الصفوف بناءً على الحالة
الباندا: كيفية استخدام مرشح “NO IN”.