"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية البحث عن الصفوف الموجودة في إطار بيانات واحد ولكن ليس في إطار بيانات آخر (مقارنة df1 و df2)؟

كيفية البحث عن الصفوف الموجودة في إطار بيانات واحد ولكن ليس في إطار بيانات آخر (مقارنة df1 و df2)؟

تم النشر بتاريخ 2024-11-07
تصفح:658

How to Find Rows Present in One Dataframe but Not in Another (Comparing df1 and df2)?

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

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

في البداية، أدت محاولات مقارنة إطارات البيانات باستخدام df1 != df2 إلى خطأ. يعمل هذا الأسلوب فقط مع إطارات البيانات ذات الصفوف والأعمدة المتطابقة. للعثور على الاختلافات المتماثلة، نحتاج إلى نهج مختلف.

تتضمن إحدى الطرق ربط إطارات البيانات:

df = pd.concat([df1, df2])
df = df.reset_index(drop=True)

ثم قم بتجميع إطار البيانات المتسلسل حسب جميع الأعمدة:

df_gpby = df.groupby(list(df.columns))

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

idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]

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

df.reindex(idx)
df.reindex(idx)
يوفر هذا الأسلوب الصفوف الموجودة في df2 ولكنها غائبة في df1 بناءً على مقارنة فهرس التاريخ وعمود الفاكهة.

بيان الافراج أعيد طبع هذه المقالة على: 1729343178 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3