Data Science

دمج فعّال لإطارات بيانات Pandas بناءً على مؤشراتها

Spread the love

دمج جداول بيانات Pandas بكفاءة بناءً على مؤشراتها

يوفر Pandas أدوات قوية لمعالجة البيانات، ودمج جداول البيانات مهمة شائعة. عندما تتشارك جداول البيانات مؤشرًا مشتركًا، فإن الاستفادة من هذه المعلومات المشتركة لدمج فعال هو أمر أساسي. تستعرض هذه المقالة أفضل الأساليب لدمج جداول بيانات Pandas بناءً على مؤشراتها، مع التركيز على طريقة join() كتقنية مفضلة.

جدول المحتويات

استخدام طريقة join() لعمليات الدمج القائمة على المؤشرات

تم تصميم طريقة join() خصيصًا لدمج جداول البيانات بناءً على مؤشراتها. إنها توفر حلاً أنظف وأكثر كفاءة غالبًا مقارنةً باستخدام merge() للعمليات القائمة على المؤشرات. يجعل بناء جملها البديهي من السهل فهمها وتنفيذها.

فيما يلي مثال:


import pandas as pd

# جداول بيانات نموذجية
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['X', 'Y', 'Z'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['Y', 'Z', 'X'])

# دمج جداول البيانات على المؤشرات
joined_df = df1.join(df2, how='inner')  # 'inner', 'outer', 'left', 'right' كلها خيارات صالحة.

print(joined_df)

يقوم هذا الكود بدمج df1 و df2 بناءً على مؤشراتهما. تحدد معلمة how نوع الدمج: 'inner' (المؤشرات المتطابقة فقط)، 'outer' (جميع المؤشرات)، 'left' (مؤشرات من df1)، أو 'right' (مؤشرات من df2). الافتراضي هو دمج يسار.

فهم merge() لعمليات الدمج القائمة على المؤشرات (أقل تفضيلًا)

على الرغم من أنها مصممة في المقام الأول لعمليات الدمج القائمة على الأعمدة، إلا أن دالة merge() يمكنها أيضًا التعامل مع عمليات الدمج القائمة على المؤشرات. ومع ذلك، يتطلب هذا تعيين معلمات left_index و right_index إلى True صراحةً، مما يجعل الكود أقل قابلية للقراءة وأقل كفاءة ربما مقارنةً بـ join().

فيما يلي كيفية تحقيق نفس الدمج باستخدام merge():


import pandas as pd

# جداول بيانات نموذجية (كما هو موضح أعلاه)
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['X', 'Y', 'Z'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['Y', 'Z', 'X'])


# دمج جداول البيانات على المؤشرات باستخدام merge()
merged_df = pd.merge(df1, df2, left_index=True, right_index=True, how='inner')

print(merged_df)

اختيار أفضل طريقة لتلبية احتياجاتك

لعمليات الدمج القائمة على المؤشرات في Pandas، يوصى عمومًا باستخدام طريقة join(). يجعلها بناء جملها الواضح وكفاءتها المحسّنة غالبًا الخيار الأفضل في معظم السيناريوهات. استخدم merge() فقط عندما تحتاج إلى مرونة عمليات الدمج القائمة على الأعمدة بالإضافة إلى عمليات الدمج القائمة على المؤشرات، أو إذا كان لديك أسباب محددة لتفضيل وظائفها.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *