logo

كيفية الجمع بين اثنين من إطارات البيانات في بايثون - الباندا

الباندا

Pandas هي مكتبة مدمجة في لغة Python تُستخدم للعمل مع البيانات العلائقية في لغة برمجة Python. لديها الكثير من الوظائف وهياكل البيانات التي تساعد في عمليات البيانات العلائقية.

إذا تم تخزين البيانات في شكل صفوف وأعمدة أو بيانات ثنائية الأبعاد تسمى بشكل عام إطارات البيانات في الباندا.

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

1. استخدام الدالة concat()

في لغة بايثون، يمكننا ربط إطاري البيانات بمساعدة الدالة concat() الخاصة بـ Pandas. يمكننا تسلسل البيانات إما على مستوى الصفوف أو على مستوى الأعمدة. تقوم هذه الوظيفة بدمج البيانات على محور واحد (صف أو عمود) وتنفيذ المنطق المحدد على محور آخر (فهرس آخر).

مثال:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result) 

انتاج:

كيفية الجمع بين اثنين من إطارات البيانات في بايثون - الباندا

توضيح:

في الكود أعلاه، قمنا أولاً باستيراد مكتبة Pandas في الملف. بعد ذلك، قمنا بإنشاء إطاري بيانات حيث يحتوي كل إطار بيانات على ثلاثة أعمدة وأربعة صفوف. ثم استخدمنا الدالة concat، التي تقوم بتسلسل إطاري البيانات هذين في صف واحد، وباستخدام وظيفة العرض، قمنا بطباعة هذا على الشاشة.

2. استخدام الصلات في الباندا

لقد فهمنا مفهوم الصلات في قاعدة البيانات حيث نربط الجدولين بناءً على بعض السمات المشتركة. نفس الطريقة قابلة للتطبيق في تسلسل إطارات البيانات. في طريقة concat() البسيطة، قمنا بدمج جميع الصفوف مع بعضها البعض وإنشاء إطار بيانات جديد. في الصلة، نحدد نوع الصلة التي نريد تنفيذها على الجدول، سواء كانت صلة داخلية أو صلة خارجية. أيًا كان نوع الصلة، سواء الصلة الداخلية (التقاطع) أو الصلة الخارجية (الاتحاد)، فسيتم تحديدها في سمة الصلة.

مثال:

سلسلة. قارن ج #
 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result) 

انتاج:

كيفية الجمع بين اثنين من إطارات البيانات في بايثون - الباندا

توضيح:

في الكود أعلاه، لدينا إطاران دارا يحتوي كلاهما على عمودين وأربعة صفوف. يحتوي كلا إطاري البيانات على أسماء أعمدة مختلفة، وفي الدالة concat()، استخدمنا الصلة الداخلية، التي تأخذ جزء التقاطع.

في سمة المحور، قمنا بتهيئة القيمة الأولى، لذلك حصلنا على البيانات بأكملها.

مثال:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

انتاج:

ما هو ماي سبيس
كيفية الجمع بين اثنين من إطارات البيانات في بايثون - الباندا

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

مثال:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

انتاج:

كيفية الجمع بين اثنين من إطارات البيانات في بايثون - الباندا

توضيح:

في الكود أعلاه، لدينا سمة واحدة، 'المعرف'، وهي شائعة بحيث يتم إنشاء إطار البيانات بناءً على السمات المشتركة فقط.

3. استخدام طريقة الإلحاق ().

بدلًا من طريقة concat()، يمكننا استخدام طريقة append(). يتم تطبيق طريقة الإلحاق () هذه على أحد إطارات البيانات.

مثال:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result) 

انتاج:

كيفية الجمع بين اثنين من إطارات البيانات في بايثون - الباندا

توضيح:

في الكود أعلاه، قمنا بدمج إطاري بيانات باستخدام طريقة الإلحاق.