كيفية المقارنة بين ثلاثة أعمدة في الباندا (مع مثال)
يمكنك استخدام بناء الجملة الأساسي التالي لمقارنة قيم ثلاثة أعمدة في الباندا:
df[' all_matching '] = df. apply ( lambda x: x.col1 == x.col2 == x.col3 , axis = 1 )
يقوم بناء الجملة هذا بإنشاء عمود جديد يسمى all_matching والذي يُرجع True إذا كانت جميع الأعمدة تحتوي على قيم متطابقة، وإلا فإنه يُرجع False .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: قارن بين ثلاثة أعمدة في Pandas
لنفترض أن لدينا DataFrame الباندا التالية مع ثلاثة أعمدة:
import pandas as pd #createDataFrame df = pd. DataFrame ({' A ': [4, 0, 3, 3, 6, 8, 7, 9, 12], ' B ': [4, 2, 3, 5, 6, 4, 7, 7, 12], ' C ': [4, 0, 3, 5, 5, 10, 7, 9, 12]}) #view DataFrame print (df) ABC 0 4 4 4 1 0 2 0 2 3 3 3 3 3 5 5 4 6 6 5 5 8 4 10 6 7 7 7 7 9 7 9 8 12 12 12
يمكننا استخدام التعليمة البرمجية التالية لإنشاء عمود جديد يسمى all_matching والذي يُرجع True إذا كانت جميع الأعمدة الثلاثة متطابقة في صف معين و False إذا لم تكن متطابقة:
#create new column that displays whether or not all column values match df[' all_matching '] = df. apply ( lambda x: x. A == x. B == x. C , axis = 1 ) #view updated DataFrame print (df) ABC all_matching 0 4 4 4 True 1 0 2 0 False 2 3 3 3 True 3 3 5 5 False 4 6 6 5 False 5 8 4 10 False 6 7 7 7 True 7 9 7 9 False 8 12 12 12 True
يشير العمود الجديد المسمى all_matching إلى ما إذا كانت القيم الموجودة في الأعمدة الثلاثة تتطابق في صف معين أم لا.
على سبيل المثال:
- تتطابق جميع القيم الثلاث في الصف الأول، لذلك يتم إرجاع True .
- لا تتطابق جميع القيم في السطر الثاني، لذلك يتم إرجاع False .
وما إلى ذلك وهلم جرا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
كيفية إعادة تسمية الأعمدة في الباندا
كيفية إضافة عمود إلى Pandas DataFrame
كيفية تغيير ترتيب الأعمدة في Pandas DataFrame