pandas / دليل حلول تحريري
تغير التواريخ والمفقود نتائج المجموعات
مصالحة التحليل وتفسير المنطقة وحدود الفترات والمقامات قبل قبول تقرير يومي متغير.
قاعدة معرفة للقراءة فقط · بلا تعليقات عامة
تعرّف على الأعراض
يفقد تقرير المخزون اليومي صفوفاً أو ينقل نشاطاً ليوم مجاور أو يتغير متوسطه بعد استيراد أو تحديث. وقد يعرض تواريخ مقنعة ويكتمل بلا استثناء؛ لذلك يلزم فحص التغطية والمعنى.
افهم الأسباب المحتملة
- قد تصبح التواريخ الفاسدة NaT، أو توصف أوقات محلية بلا معلومات منطقة زمنية بأنها أوقات UTC، أو تختلف الحاويات، أو تخرج قيم ومفاتيح مفقودة من المقام. وقد تغير رموز الفقد المعرفات أو المقاييس عند الإدخال.
حفظ الرموز الأصلية وساعة التقرير المقصودة
سجل لقطة المصدر ورموز الوقت الخام وخيارات المحلل ورموز الفقد الأصلية وإصدارات المكتبات الدقيقة. حدد هل يستخدم التقرير أيام UTC أو تقويم عمل محلياً مسمى. لا يحدد نص شبيه بالتاريخ منطقته أو يضمن تفسيراً صارماً واحداً. تعد dayfirst تفضيلاً لا مدقق صيغة صارماً. تفسر utc=True المدخلات التي لا تحمل منطقة زمنية على أنها أوقات UTC، فلا تستنتج منطقة محلية مجهولة أو تحول منها تلقائياً. احفظ سياق المصدر قبل التطبيع؛ وإلا قد يخفي عمود مطبع مقنع الغموض الأصلي، ويجعل المصالحة التاريخية مستحيلة.
عد فشل التحليل المستحدث وتغير المقامات
قارن الطوابع المفقودة المعروفة بما استحدثته coercion من NaT. تتبع المصدر الصالح والمرفوض وما يدخل كل مجموعة؛ ولا تدع فشل تحليل يختفي بصمت. ميز للمقاييس عدد الصفوف عن عد غير المفقود، والصفر المرصود عن المجهول. قد تستبعد سياسة groupby المفاتيح المفقودة، وتحتاج المجاميع المفقودة بالكامل تفسير min_count الخاص بها. قد يعكس الإجمالي الأقل تغير التغطية لا حركة حقيقية. احتفظ بالهويات المرفوضة وأسبابها لتفسير التغير دون إعادة بناء المصدر من إجمالي نهائي.
مقارنة اللحظة نفسها عبر التقويم المختار
قد ينقل تحويل المنطقة الزمنية اللحظة إلى تاريخ تقويمي معروض آخر دون تغيير اللحظة نفسها. يعبر المثال المحلي من الأول من أكتوبر إلى الثلاثين من سبتمبر في UTC؛ ولذلك يحدد استخراج التاريخ قبل التحويل وبعده مجتمعين مختلفين. يضيف إسناد منطقة زمنية حول انتقالات التوقيت الصيفي قرارات بشأن أوقات ملتبسة أو غير موجودة، وتحتاج تلك القرارات سياسة موثقة. افحص frequency وclosed وlabel وأي origin/offset متعلق بالحاويات المختارة. يجب أن تُحدد الفترة المتوقعة لكل ملاحظة تقع تماماً على حد زمني. يفحص هذا النموذج تحويلاً واحداً باستخدام مكتبة Python القياسية فقط، ولا يثبت صحة سلوك المناطق الزمنية أو إعادة أخذ العينات الزمنية في pandas.
from datetime import datetime, timezone
local = datetime.fromisoformat('2026-10-01T01:00:00+02:00')
utc = local.astimezone(timezone.utc)
assert local.date().isoformat() == '2026-10-01'
assert utc.date().isoformat() == '2026-09-30'
print(local.date().isoformat(), utc.date().isoformat())
2026-10-01 2026-09-30
للحظة الواحدة تاريخ محلي وتاريخ UTC مختلفان؛ ولا يختبر المثال تحليل pandas أو سياسة التعامل مع الأوقات الملتبسة عند انتقال التوقيت الصيفي.
قبول التقرير عبر الهوية والتغطية الزمنية
ابن بيانات صغيرة بصفر صالح ومقياس مفقود وتاريخ فاسد وحد حاوية دقيق ولحظة محلية قرب حد يوم. حدد الهويات المقبولة والمرفوضة وفترات كل منها ومقامات المرصود مستقلة. قارن الناتج المنظم قبل تنسيق التواريخ أو ملء فراغ العرض. لا يشغل الدليل محلل pandas أو مجمعه، ولا يثبت خلفية مناطق أو يقرأ ملفاً حقيقياً. بعد تصحيح تشغيلي مصرح، احفظ الأصل وإصدار القاعدة والفجوات المقبولة صراحة. لا يكفي تقرير مكتمل المظهر دون تحقق مجتمع التقرير وعقد تقويمه.
تحقق من نجاح الإصلاح
تحقق من فترة مقبولة أو سبب رفض لكل هوية، وقارن أعداد الصفوف والمرصود والإجماليات. اختبر المنطقة والحد وفق التقويم. أكد أن الإصلاح لم يملأ الفاسد بتاريخ اليوم أو المفقود بصفر لتبدو النتيجة كاملة فقط.
امنع تكرار المشكلة
- أدر إصدار المحلل ورموز الفقد والمنطقة والحاويات مع عقد المصدر. احفظ حدوداً دقيقة ومجموعات مفقودة بالكامل عبر الترقية، وراقب تغطية فشل التحليل منفصلة عن تنسيق التقرير.