البرمجة

تحقق من وجود صفوف في إطار بيانات A في إطار بيانات B

لديك إطار بيانات A وإطار بيانات B، وترغب في إضافة عمود إلى إطار البيانات A يحدد ما إذا كان كل صف في إطار البيانات A موجودًا في إطار البيانات B. يمكن القيام بذلك باستخدام لغة البرمجة Python ومكتبة pandas.

أولاً، يجب عليك قراءة الإطارين A و B من مصادرها، سواء كانت ملفات CSV أو قواعد بيانات أو أي نوع آخر من مصادر البيانات. بعد ذلك، يمكنك استخدام الدالة merge في pandas لدمج الإطارين الاثنين على أساس أعمدتهم المشتركة، ومن ثم إضافة العمود الجديد استنادًا إلى الشرط المطلوب.

فيما يلي كود Python يوضح كيفية القيام بذلك:

python
import pandas as pd # قراءة الإطارين الأول والثاني df_a = pd.read_csv('path_to_dataframe_a.csv') df_b = pd.read_csv('path_to_dataframe_b.csv') # الدمج بين الإطارين باستخدام عمودين مشتركين (User و Movie) merged_df = pd.merge(df_a, df_b, on=['User', 'Movie'], how='left') # إضافة العمود الجديد 'Exist' وتعبئته بناءً على وجود قيم في الإطار الثاني merged_df['Exist'] = ~merged_df['Rating'].isna() # حذف الأعمدة الإضافية من الإطار المدموج إذا لزم الأمر merged_df.drop(['Rating'], axis=1, inplace=True) # العملية السابقة قد تؤدي إلى تكرار الصفوف، لذا يمكن إزالة الصفوف المكررة merged_df.drop_duplicates(inplace=True) # حفظ النتيجة إلى ملف CSV إذا لزم الأمر merged_df.to_csv('path_to_output_dataframe.csv', index=False)

بعد تنفيذ هذا الكود، ستحصل على إطار بيانات مدمج جديد (merged_df) يحتوي على العمود الجديد ‘Exist’ الذي يشير إلى ما إذا كان كل صف في إطار البيانات A موجودًا في إطار البيانات B أم لا.

المزيد من المعلومات

بالطبع، يمكن توسيع المعلومات المذكورة لتوضيح بعض النقاط الإضافية.

  1. فهم الخوارزمية: يعتمد الكود السابق على استخدام الوظيفة merge في مكتبة pandas لدمج الإطارين الأول والثاني. يتم الدمج بناءً على الأعمدة المشتركة بينهما، وفي هذه الحالة هي عمودا “User” و “Movie”.

  2. إضافة عمود جديد: يتم إنشاء العمود الجديد “Exist” باستخدام الشرط ~merged_df[‘Rating’].isna()، حيث يتم التحقق مما إذا كانت قيمة العمود “Rating” في الإطار المدموج موجودة أم لا. إذا كانت موجودة، يعتبر الصف موجودًا في كليهما، ويتم تعيين قيمة True في العمود الجديد “Exist”، وإلا فإن القيمة تكون False.

  3. حذف الأعمدة الإضافية: بعد إضافة العمود الجديد “Exist”، قد يكون من الضروري حذف الأعمدة الإضافية التي تم إدراجها خلال عملية الدمج، وفي هذه الحالة هو العمود “Rating”.

  4. إزالة الصفوف المكررة: يتم إزالة الصفوف المكررة من الإطار المدموج باستخدام الوظيفة drop_duplicates، وذلك للتأكد من عدم وجود صفوف مكررة بعد عملية الدمج.

  5. حفظ النتيجة: يتم حفظ الإطار النهائي المحتوي على العمود الجديد “Exist” إلى ملف CSV باستخدام الوظيفة to_csv.

بهذه الطريقة، يمكنك تنفيذ هذا الكود لتحقيق المطلوب والحصول على إطار بيانات جديد يحتوي على معلومات حول مدى وجود كل صف في إطار البيانات A في إطار البيانات B.

زر الذهاب إلى الأعلى