نسبة القيم المفقودة لكل عمود تحتاج تعريف المفقود ونطاق الصفوف. في pandas، تحدد isna قيما مثل None وNaN، لكنها لا تعد السلسلة الفارغة قيمة NA تلقائيا. لذلك قد يختلف فحص الأداة عن قاعدة الحقل التي تقصدها. [1]
الخلاصة السريعة
حدد حالات الغياب أولا، ثم اقسم عددها في العمود على عدد الصفوف المشمولة إذا كان المقام أكبر من صفر. أعلن التعريف والمقام والاستثناءات؛ النسبة تصف الغياب ولا تفسر سببه أو تقرر معالجته وحدها.
- isna في pandas يميز قيما مثل None وNaN، ولا يعتبر السلسلة الفارغة NA تلقائيا؛ تعريفك المحلي قد يحتاج فحصا إضافيا. [1]
- في المثال، غياب واحد من أربعة صفوف يساوي 25 بالمئة؛ وإذا صنف عقدنا السلسلة الفارغة غيابا أيضا يصبح العدد اثنين والنسبة 50 بالمئة.
- العدد 0 قد يكون قراءة صحيحة؛ لا تضمه للمفقود إلا وفق تعريف الحقل الموثق، ولا تعمم قاعدة من شكل القيمة.
- أعلن نطاق الصفوف والمقام والاستثناءات؛ عند مقام صفر لا تحسب النسبة كصفر بالمئة، والنسبة وحدها لا تحدد سبب الغياب أو علاجه.
ما القيم التي تلتقطها الأداة؟
تعيد DataFrame.isna قناعا من القيم المنطقية يحدد مواضع NA بالحجم نفسه. [1]
نقترح حقل كمية تعليميا قد تصله قراءة عددية أو غياب معلن أو نص فارغ. لا نساوي هذه الحالات بمجرد تشابه عرضها في شاشة جدول. نكتب هل النص الفارغ يعني أن الكمية لم تسجل، أم يخالف عقدا لا يقبل نصا أصلا. إذا قررنا أنه غياب في مثالنا، نضيفه إلى قاعدة العد المحلية ونوثق القرار بدلا من نسبته تلقائيا إلى سلوك الأداة.
كيف يغير التعريف نتيجة الحساب؟
نفترض أربعة صفوف لها القيم الآتية: 7، ثم None، ثم السلسلة الفارغة، ثم 0. لم ننشئ DataFrame أو نشغل دالة هنا؛ الجدول يبين العد المتوقع من التعريفين المعلنين في هذه الحالة التعليمية.
واحد مقسوما على أربعة يساوي 0.25، واثنان على أربعة يساوي 0.5. نضرب كل نسبة في 100 لعرضها بالمئة. اختلف البسط لأننا غيرنا قاعدة تصنيف السلسلة الفارغة، ولم يتغير عدد الصفوف. لا نقارن نسبتين من تعريفين مختلفين ثم ننسب الفرق إلى تغير حقيقي في المصدر دون مراجعة.
| التعريف المقترح | عدد المفقود | المقام | النسبة |
|---|---|---|---|
| NA مثل None فقط في المثال | 1 | 4 | 25 بالمئة |
| NA مع السلسلة الفارغة كغياب محلي | 2 | 4 | 50 بالمئة |
هل الصفر قيمة مفقودة؟
في عقد مثالنا، الحقل هو «عدد القطع في درج بعد إفراغه». قد تكون قراءة 0 جوابا صحيحا. استبدالها بغياب لأن الرقم صغير يغير المعنى، مثلما أن ملء None بصفر لا يثبت أن الدرج خال.
إذا استعمل مصدر مختلف الصفر رمزا لغياب قراءة، نحتاج توثيق هذا الاصطلاح قبل العد والتحويل. نقترح حفظ القيمة الأصلية وسبب القرار. المثال لا يحدد رمزا عاما لكل المجالات، ولا يقدم وصفة تعويض أو حذف، بل يفصل الرقم المقاس عن طريقة تمثيل ما لم يعرف.
كيف نختار المقام ونفسر النتيجة؟
نقترح عد الصفوف التي يشملها السؤال صراحة. إذا استثنينا صفوفا لا ينطبق عليها الحقل، نذكر عدد المستثنى وسببه، ونسمي النسبة نسبة غياب ضمن الصفوف المشمولة. وإذا لم يوجد صف مشمول، فالمقام صفر ولا نعلن نسبة محسوبة تساوي صفر بالمئة؛ نقول إن النسبة غير محسوبة لهذا النطاق.
نحفظ عدد الغياب والمقام والتعريف والفترة معا. ثم نبحث عن السبب إذا احتجنا قرار معالجة: قد يكون تأخر تسجيل أو خللا أو حالة لا تنطبق عليها المعلومة. النسبة وحدها لا تحسم ذلك، ولا تثبت أن الصفوف الموجودة دقيقة. هذه خطة مراجعة قبل تجهيز بيانات نموذج، ولم ننفذ تحليلا لملف مستخدم.
المصادر ومتابعة القراءة
- pandas: DataFrame.isna (يفتح في نافذة جديدة)pandas.pydata.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
