محتويات الدورة

pandas / المتوسط: التجميع والدمج والجودة الزمنية / الدرس 12

التكرارات وقواعد الجودة والمصالحة

تمييز الملاحظات والهويات والتسميات المكررة قبل اختيار التصحيح.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تعريف تفرد العمل مستقلاً عن تساوي الصف والفهرس.
  • حفظ التعارض ومصالحة مجتمع المقبول والمرفوض.

تختلف الصفوف والمفاتيح والتسميات المكررة

قد يصف صفان متساويان في القياسات واقعتين مشروعتين مستقلتين إذا اختلفت هويتا الحدث. وقد يكون صفان بالمعرف الثابت نفسه إعادة إرسال أو حمولة متعارضة. تكرار تسميات الفهرس مسألة تمثيل أخرى تؤثر الاختيار أو reindex دون إثبات تكرار تجاري. حدد حقول التفرد بوحدة المصدر قبل duplicated أو drop_duplicates. لا يكفي معرف الصنف إذا كانت له حركات كثيرة. قد تمحو keep-first العامة بيانات صالحة أو تخفي عيب إدخال أو تختار إصداراً خاطئاً للسجل.

تمييز كل أعضاء مجموعة هوية مكررة

يحوي DataFrame التوضيحي E1 مرتين بالوحدات نفسها وE2 مرة. تميز duplicated على event_id مع keep=False صفي E1 للمراجعة، وتكون قائمة الهويات المتكررة المعلنة E1. لا يزيل الفحص شيئاً أو يقرر مرجعية أول نسخة. تحدد subset مفتاح المقارنة، وتضبط keep الأعضاء المميزة؛ ويغير أي منهما معنى الفحص. النتائج مشتقة لا مختبرة في pandas. احفظ كل الصفوف المتعارضة إذا حمل المعرف سمات مختلفة، بما فيها إصدار المصدر وأدلة الوصول اللازمة لحل الاختلاف.

python قناع مراجعة هوية مكررة توضيحي
import pandas as pd

frame = pd.DataFrame({'event_id': ['E1', 'E1', 'E2'], 'units': [2, 2, 3]})
flagged = frame.duplicated(subset=['event_id'], keep=False)
assert flagged.tolist() == [True, True, False]
repeated_ids = frame.loc[flagged, 'event_id'].unique().tolist()
assert repeated_ids == ['E1']
print(repeated_ids)
الناتج المتوقع
['E1']

يميز صفا E1 ولا يحذف صف؛ ولم تنفذ pandas.

الجودة مجموعة فحوص عمل مسماة

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

تطبيق قاعدة حدث ثابت صريحة محلياً

يعد النموذج القياسي حمولتي E1 المتساويتين إعادة إرسال وفق عقد حدث ثابت معلن. يتحقق من تساويهما قبل حفظ حدث فريد، ثم يفحص إجمالي وحدات فريدة قدره خمسة. لو اختلفت قيمة الوحدات لفشل التأكيد بدلاً من الاستبدال الصامت. هذه قاعدة هوية بالذاكرة أحادية الخيط، لا كاشف pandas أو معاملة إدخال دائمة. يحتاج مصدر يسمح بمراجعة الحدث سياسة إصدارات مختلفة. وضح تعديل الوقائع السابقة أو استبدال السجلات، ولا تستنتج الزمن من ترتيب المدخل عند اختيار أحدث إصدار مفترض.

python قاعدة مصالحة حدث ثابت محلية
events = [('E1', 2), ('E1', 2), ('E2', 3)]
unique = {}
for event_id, units in events:
    if event_id in unique:
        assert unique[event_id] == units
    unique[event_id] = units
assert sum(unique.values()) == 5
print(len(unique), sum(unique.values()))
الناتج المتوقع
2 5

تمثل ثلاثة تسليمات حدثين فريدين متسقين بمجموع 5 وفق القاعدة المعلنة.

نشر النتيجة مع تفسير تغطيتها

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

الأخطاء الشائعة وإصلاحها

حذف كل معرف صنف متكرر من جدول حركات.

لماذا يحدث؟
الخلط بين هوية الكيان والملاحظة.
كيف تصلحه؟
حدد مفتاح الحدث أو الملاحظة المركب قبل التصحيح.
كيف تتجنب تكراره؟
احتفظ ببيانات كيانات متكررة مشروعة في الاختبارات.

اعتبار keep=last قاعدة أحدث سجل زمنياً.

لماذا يحدث؟
اعتبار ترتيب الصف زمن حدث أو إصداراً متحققاً.
كيف تصلحه؟
حدد أسبقية الإصدار ومعالجة التعارض الحتمية صراحة.
كيف تتجنب تكراره؟
اختبر خلط المدخل وتعارض إصدارات متساوية.

استبدال هوية مكررة بوحدات متعارضة بصمت.

لماذا يحدث؟
إغفال اتساق حمولة الحدث الثابت.
كيف تصلحه؟
احفظ التعارض وصالحه بعقد المصدر المرجعي.
كيف تتجنب تكراره؟
افحص توافق الحمولة مع تساوي الهوية.

اختبر فهمك

1. هل قد يكون صفان بالوحدات والمستودع نفسيهما حدثين مشروعين مختلفين؟

اعرض الحل المشروح

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

2. لماذا يحتفظ تقرير التنظيف بالهويات المرفوضة والمتعارضة؟

اعرض الحل المشروح

تفسر فرق المصدر والمقبول وتدعم التصحيح دون تخمين من الإجمالي. قد يجعل محو الدليل جدولاً نظيفاً ظاهرياً غير قابل للتدقيق. احفظ القاعدة والمصدر لتطبق الإعادة العقد نفسه أو توثق تغييره.

أهم ما تعلمته

  • يتبع التفرد وحدة المصدر وهوية الواقعة.
  • يجب أن يحفظ التصحيح أدلة التعارض والتغطية.

المراجع الرسمية