كيفية تصفية pandas dataframe بشروط متعددة
في كثير من الأحيان قد ترغب في تصفية DataFrame الباندا بشروط متعددة. لحسن الحظ، من السهل القيام بذلك باستخدام العمليات المنطقية.
يقدم هذا البرنامج التعليمي عدة أمثلة حول كيفية تصفية وحدات DataFrame الباندا التالية وفقًا لعدة شروط:
import pandas as pd #createDataFrame df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'C'], 'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame df team points assists rebounds 0 to 25 5 11 1 to 12 7 8 2 B 15 7 10 3 B 14 9 6 4 C 19 12 6
مثال 1: التصفية حسب شروط متعددة باستخدام “و”
يوضح التعليمة البرمجية التالية كيفية تصفية DataFrame باستخدام عامل التشغيل و ( & ):
#return only rows where points is greater than 13 and assists is greater than 7 df[(df. points > 13) & (df. assists > 7)] team points assists rebounds 3 B 14 9 6 4 C 19 12 6 #return only rows where team is 'A' and points is greater than or equal to 15 df[(df. team == 'A') & (df. points >= 15)] team points assists rebounds 0 to 25 5 11
المثال 2: التصفية حسب شروط متعددة باستخدام “Or”
يوضح التعليمة البرمجية التالية كيفية تصفية DataFrame باستخدام عامل التشغيل أو ( | ):
#return only rows where points is greater than 13 or assists is greater than 7 df[(df. dots > 13) | (df. assists > 7)] team points assists rebounds 0 to 25 5 11 2 B 15 7 10 3 B 14 9 6 4 C 19 12 6 #return only rows where team is 'A' or points is greater than or equal to 15 df[( df.team == 'A') | (df. points >= 15)] team points assists rebounds 0 to 25 5 11 1 to 12 7 8 2 B 15 7 10 4 C 19 12 6
المثال 3: التصفية حسب شروط متعددة باستخدام قائمة
يوضح التعليمة البرمجية التالية كيفية تصفية DataFrame حيث توجد قيم الصفوف في القائمة.
#define a list of values filter_list = [12, 14, 15] #return only rows where points is in the list of values df[df. points . isin (filter_list)] team points assists rebounds 1 to 12 7 8 2 B 15 7 10 3 B 14 9 6 #define another list of values filter_list2 = ['A', 'C'] #return only rows where team is in the list of values df[df. team . isin (filter_list2)] team points assists rebounds 0 to 25 5 11 1 to 12 7 8 4 C 19 12 6
يمكنك العثور على المزيد من دروس الباندا هنا .