كيفية إجراء عملية مكافحة الانضمام في الباندا


يتيح لك مانع الانضمام إرجاع جميع الصفوف في مجموعة بيانات واحدة لا تحتوي على قيم مطابقة في مجموعة بيانات أخرى.

يمكنك استخدام بناء الجملة التالي لإجراء عملية ربط بين اثنين من إطارات بيانات الباندا:

 outer = df1. merge (df2, how=' outer ', indicator= True )

anti_join = outer[(outer._merge==' left_only ')]. drop (' _merge ', axis= 1 )

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: تنفيذ عملية منع الانضمام في Pandas

لنفترض أن لدينا إطاري بيانات الباندا التاليين:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'],
                    ' points ': [18, 22, 19, 14, 30]})

print (df1)

  team points
0 to 18
1 B 22
2 C 19
3 D 14
4 E 30

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'F', 'G'],
                    ' points ': [18, 22, 19, 22, 29]})

print (df2)

  team points
0 to 18
1 B 22
2 C 19
3 F 22
4 G 29

يمكننا استخدام الكود التالي لإرجاع جميع الصفوف من DataFrame الأول التي لا تحتوي على فريق مطابق في DataFrame الثاني:

 #perform outer join
outer = df1. merge (df2, how=' outer ', indicator= True )

#perform anti-join
anti_join = outer[(outer._merge==' left_only ')]. drop (' _merge ', axis= 1 )

#view results
print (anti_join)

  team points
3 D 14
4 E 30

يمكننا أن نرى أن هناك فريقين بالضبط من DataFrame الأول ليس لهما اسم فريق مطابق في DataFrame الثاني.

عملت مكافحة الانضمام كما هو متوقع.

والنتيجة النهائية هي DataFrame الذي يحتوي فقط على الصفوف التي ينتمي فيها اسم الفريق إلى DataFrame الأول وليس إلى DataFrame الثاني.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:

كيفية القيام بالانضمام الداخلي في الباندا
كيفية القيام بالانضمام الأيسر في الباندا
كيفية القيام بالانضمام المتقاطع في الباندا

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *