كيفية عمل صلة داخلية في pandas (مع مثال)


يمكنك استخدام بناء الجملة الأساسي التالي لإجراء صلة داخلية في الباندا:

 import pandas as pd

df1. merge (df2, on=' column_name ', how=' inner ')

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

مثال: كيفية إجراء صلة داخلية في Pandas

لنفترض أن لدينا إطاري بيانات الباندا التاليين اللذين يحتويان على معلومات حول فرق كرة السلة المختلفة:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                    ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'G', 'H'],
                    ' assists ': [4, 9, 14, 13, 10, 8]})

#view DataFrames
print (df1)

  team points
0 to 18
1 B 22
2 C 19
3 D 14
4 E 14
5 F 11
6 G 20
7:28 a.m.

print (df2)

  team assists
0 to 4
1 B 9
2 C 14
3 D 13
4G 10
5:8 a.m.

يمكننا استخدام التعليمة البرمجية التالية لإجراء صلة داخلية، والتي تحافظ فقط على الصفوف التي يظهر فيها اسم الفريق في كلا إطاري البيانات:

 #perform left join
df1. merge (df2, on=' team ', how=' inner ')

	team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8

الصفوف الوحيدة الموجودة في DataFrame المدمجة هي تلك التي يظهر فيها اسم الفريق في كلا DataFrames.

لاحظ أنه تمت إزالة فريقين (الفريقان E وF) لأنهما لم يظهرا في كلا DataFrames.

لاحظ أنه يمكنك أيضًا استخدام pd.merge() بالصيغة التالية لإرجاع النتيجة نفسها تمامًا:

 #perform left join
p.d. merge (df1, df2, on=' team ', how=' inner ')

	team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8

لاحظ أن DataFrame المدمج يطابق المثال السابق.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة الدمج هنا .

مصادر إضافية

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

كيفية القيام بالانضمام الأيسر في الباندا
كيفية دمج Pandas DataFrames عبر أعمدة متعددة
الباندا الانضمام أو الدمج: ما هو الفرق؟

Add a Comment

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