كيفية إجراء وصلة متقاطعة في الباندا (مع مثال)
يمكنك استخدام بناء الجملة الأساسي التالي لإجراء صلة متقاطعة في الباندا:
#create common key df1[' key '] = 0 df2[' key '] = 0 #outer merge on common key (eg a cross join) df1. merge (df2, on=' key ', how=' outer ')
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: إجراء وصلة متقاطعة في الباندا
لنفترض أن لدينا إطاري بيانات الباندا التاليين:
import pandas as pd
#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D'],
' points ': [18, 22, 19, 14]})
print (df1)
team points
0 to 18
1 B 22
2 C 19
3 D 14
#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'B', 'F'],
' assists ': [4, 9, 8]})
print (df2)
team assists
0 to 4
1 B 9
2 F 8
يوضح التعليمة البرمجية التالية كيفية إجراء صلة متقاطعة على إطاري البيانات:
#create common key
df1[' key '] = 0
df2[' key '] = 0
#perform cross join
df3 = df1. merge (df2, on=' key ', how=' outer ')
#drop key column
del df3[' key ']
#view results
print (df3)
team_x points team_y assists
0 A 18 A 4
1 A 18 B 9
2 A 18 F 8
3 B 22 A 4
4 B 22 B 9
5 B 22 F 8
6 C 19 A 4
7 C 19 B 9
8 C 19 F 8
9 D 14 A 4
10 D 14 B 9
11 D 14 F 8
والنتيجة هي DataFrame الذي يحتوي على كافة المجموعات الممكنة من الصفوف من كل DataFrame.
على سبيل المثال، يحتوي الصف الأول من DataFrame الأول على الفريق A و 18 نقطة. يتوافق هذا الخط مع كل سطر من DataFrame الثاني.
ثم يحتوي الصف الثاني من DataFrame الأول على الفريق B و 22 نقطة. يتوافق هذا الصف أيضًا مع كل صف من DataFrame الثاني.
والنتيجة النهائية هي DataFrame مع 12 صفًا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
كيفية القيام بالانضمام الأيسر في الباندا
كيفية القيام بالانضمام الأيسر في الباندا
الباندا الانضمام أو الدمج: ما هو الفرق؟