الباندا: كيفية دمج إطاري بيانات بأسماء أعمدة مختلفة
يمكنك استخدام بناء الجملة الأساسي التالي لدمج اثنين من إطارات بيانات الباندا بأسماء أعمدة مختلفة:
p.d. merge (df1, df2, left_on=' left_column_name ', right_on=' right_column_name ')
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: دمج إطاري بيانات Pandas بأسماء أعمدة مختلفة
لنفترض أن لدينا إطاري بيانات الباندا التاليين:
import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'], ' points ': [4, 4, 6, 8, 9, 5]}) #view DataFrame print (df1) team points 0 to 4 1 B 4 2 C 6 3 D 8 4 E 9 5 F 5 #create second DataFrame df2 = pd. DataFrame ({' team_name ': ['A', 'B', 'C', 'D', 'E', 'F'], ' rebounds ': [12, 7, 8, 8, 5, 11]}) #view DataFrame print (df2) team_name rebounds 0 to 12 1 B 7 2 C 8 3 D 8 4 E 5 5 F 11
يمكننا استخدام بناء الجملة التالي لإجراء صلة داخلية، باستخدام عمود الفريق في DataFrame الأول وعمود team_name في DataFrame الثاني:
#merge DataFrames
df3 = pd. merge (df1, df2, left_on=' team ', right_on=' team_name ')
#view result
print (df3)
team points team_name rebounds
0 A 4 A 12
1 B 4 B 7
2 C 6 C 8
3 D 8 D 8
4 E 9 E 5
5 F 5 F 11
لاحظ أننا قادرون على إجراء صلة داخلية بنجاح على الرغم من أن اسمي العمودين اللذين استخدمناهما للصلة كانا مختلفين في كل DataFrame.
لاحظ أنه يمكننا أيضًا استخدام الكود التالي لإزالة عمود team_name من DataFrame المدمج النهائي نظرًا لأن القيم الموجودة في هذا العمود تتطابق مع تلك الموجودة في عمود الفريق :
#drop team_name column
df3. drop (' team_name ', axis= 1 , inplace= True )
#view updated DataFrame
print (df3)
team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11
لاحظ أنه تمت إزالة العمود team_name من DataFrame.
ذات صلة: كيفية حذف الأعمدة في الباندا (4 أمثلة)
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ مهام الباندا الشائعة الأخرى:
كيفية تغيير ترتيب الأعمدة في الباندا
كيفية إعادة تسمية الأعمدة في الباندا
كيفية فرز الأعمدة حسب الاسم في الباندا