الباندا: كيفية اختيار الأعمدة التي تحتوي على سلسلة محددة
يمكنك استخدام الطرق التالية لتحديد الأعمدة التي تحتوي على سلسلة معينة في pandas DataFrame:
الطريقة الأولى: تحديد الأعمدة التي تحتوي على سلسلة محددة
df. filter (regex=' string1 ')
الطريقة الثانية: تحديد الأعمدة التي تحتوي على إحدى السلاسل المتعددة
df. filter (regex=' string1|string2|string3 ')
توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا مع وحدات الباندا DataFrame التالية:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' mavs ': [10, 12, 14, 15, 19, 22, 27],
' cavs ': [18, 22, 19, 14, 14, 11, 20],
' hornets ': [5, 7, 7, 9, 12, 9, 14],
' spurs ': [10, 12, 14, 13, 13, 19, 22],
' net ': [10, 14, 25, 22, 25, 17, 12]})
#view DataFrame
print (df)
mavs cavs hornets spurs nets
0 10 18 5 10 10
1 12 22 7 12 14
2 14 19 7 14 25
3 15 14 9 13 22
4 19 14 12 13 25
5 22 11 9 19 17
6 27 20 14 22 12
مثال 1: تحديد أعمدة تحتوي على سلسلة محددة
يوضح الكود التالي كيفية استخدام الدالة filter() لتحديد الأعمدة التي تحتوي على السلسلة “avs” في مكان ما باسمها فقط:
#select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs ')
#view DataFrame
print (df2)
mavs cavs
0 10 18
1 12 22
2 14 19
3 15 14
4 19 14
5 22 11
6 27 20
يتم إرجاع الأعمدة التي تحتوي على “avs” في الاسم فقط.
في هذه الحالة، “mavs” و”cavs” هما العمودان الوحيدان اللذان تم إرجاعهما.
مثال 2: حدد أعمدة تحتوي على واحدة من عدة سلاسل
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة filter() لتحديد الأعمدة التي تحتوي على “avs” أو “ets” في مكان ما باسمها فقط:
#select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs|ets ')
#view DataFrame
print (df2)
mavs cavs hornets nets
0 10 18 5 10
1 12 22 7 14
2 14 19 7 25
3 15 14 9 22
4 19 14 12 25
5 22 11 9 17
6 27 20 14 12
يتم إرجاع الأعمدة التي تحتوي على “avs” أو “ets” في الاسم فقط.
لاحظ أن الشريط العمودي ( | ) هو عامل التشغيل ” OR ” في الباندا.
لا تتردد في ربط أكبر عدد ممكن من عوامل التشغيل “OR” هذه حسب رغبتك لتحديد الأعمدة التي تحتوي على واحدة من العديد من السلاسل المختلفة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
الباندا: كيفية نقل عمود أمام DataFrame
الباندا: كيفية التحقق مما إذا كان العمود يحتوي على سلسلة
الباندا: كيفية إضافة عمود فارغ إلى DataFrame (3 أمثلة)