كيفية المقارنة بين عمودين في الباندا: مع الأمثلة
في كثير من الأحيان قد ترغب في مقارنة عمودين في Pandas DataFrame وكتابة نتائج المقارنة في عمود ثالث.
يمكنك القيام بذلك بسهولة باستخدام بناء الجملة التالي:
conditions=[(condition1),(condition2)] choices=[" choice1 "," choice2 "] df[" new_column_name "]=np. select (conditions, choices, default)
إليك ما يفعله هذا الرمز:
- الشروط هي شروط التحقق بين العمودين
- الاختيارات هي النتائج التي يتم إرجاعها بناءً على الشروط
- يتم استخدام np.select لإرجاع النتائج في العمود الجديد
يوضح المثال التالي كيفية استخدام هذا الرمز عمليًا.
مثال: قارن بين عمودين في Pandas
لنفترض أن لدينا DataFrame التالي الذي يوضح عدد الأهداف التي سجلها فريقان لكرة القدم في خمس مباريات مختلفة:
import numpy as np import pandas as pd #createDataFrame df = pd. DataFrame ({' A_points ': [1, 3, 3, 3, 5], ' B_points ': [4, 5, 2, 3, 2]}) #view DataFrame df A_points B_points 0 1 4 1 3 5 2 3 2 3 3 3 4 5 2
يمكننا استخدام الكود التالي لمقارنة عدد الأهداف لكل صف وعرض الفائز بالمباراة في عمود ثالث:
#define conditions conditions = [df[' A_points '] > df[' B_points '], df[' A_points '] < df[' B_points ']] #define choices choices = [' A ', ' B '] #create new column in DataFrame that displays results of comparisons df[' winner '] = np. select (conditions, choices, default=' Tie ') #view the DataFrame df A_points B_points winner 0 1 4 B 1 3 5 B 2 3 2 A 3 3 3 Tie 4 5 2 A
يتم عرض نتائج المقارنة في العمود الجديد المسمى الفائز .
تعليقات
فيما يلي بعض الأشياء التي يجب وضعها في الاعتبار عند مقارنة عمودين في Pandas DataFrame:
- يجب أن يكون عدد الشروط والاختيارات متساويا.
- يحدد الإعداد الافتراضي القيمة التي سيتم عرضها في العمود الجديد في حالة عدم استيفاء أي من الشروط.
- NumPy و Pandas مطلوبان حتى يعمل هذا الرمز.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
كيفية إعادة تسمية الأعمدة في الباندا
كيفية إضافة عمود إلى Pandas DataFrame
كيفية تغيير ترتيب الأعمدة في Pandas DataFrame