تُعد الإحصاءات الوصفية حجر الزاوية في مسار التحليل الاستكشافي للبيانات (Exploratory Data Analysis)، والمنطلق المنهجي الأساسي لفهم الظواهر المعقدة والأنماط الكامنة داخل مجموعات البيانات الضخمة. في عصر تدفق البيانات وتعدد مصادرها، لم تعد معالجة البيانات مقتصرة على الحسابات اليدوية أو النماذج الرياضية المجردة، بل أصبحت تعتمد بشكل وثيق على بيئات البرمجة الإحصائية المتقدمة. وتتربع لغة بايثون (Python)، بفضل منظومتها الغنية بالمكتبات الحسابية المتخصصة، على قمة الأدوات البرمجية المستخدمة في مجالات علوم البيانات والتحليل المالي والبحث الأكاديمي.
تُمثل مكتبة بانداس (Pandas) الإطار البرمجي الأكثر تطوراً واعتماداً لإدارة وهيكلة وتحليل البيانات الجدولية. من خلال كائن إطار البيانات (DataFrame)، تُتيح بانداس للباحثين والمحللين بنية تحتية متكاملة تُمكّنهم من تحويل ملايين السجلات الرقمية والنصية إلى مؤشرات إحصائية دقيقة تلخص سلوك المتغيرات، وتكشف عن التوزيعات الاحتمالية، وتحدد التباينات والفروق الجوهرية. إن القدرة على استخراج الإحصاءات التلخيصية بكفاءة حسابية وسرعة فائقة تشكل الفارق الحاسم بين التحليل السطحي والفهم العميق القائم على الأدلة الكمية.
يهدف هذا الدليل المرجعي الشامل إلى تقديم معالجة أكاديمية وعملية معمقة لكيفية حساب وتفسير وتخصيص الإحصاءات الوصفية باستخدام مكتبة بانداس. سنستعرض عبر فصول هذا الدليل كافة الجوانب النظرية والتطبيقية، بدءاً من البنية الهيكلية للمتغيرات ومقاييس النزعة المركزية والتشتت، مروراً بالتقنيات المتقدمة لتجميع البيانات والتعامل مع القيم المفقودة، وصولاً إلى تصدير النتائج وتنسيقها وفق المعايير العلمية المعتمدة.
- 1. مقدمة إلى الإحصاء الوصفي وأهميته في تحليل إطارات بيانات بانداس
- 2. تهيئة البيئة البرمجية وإنشاء إطار البيانات النموذجي
- 3. حساب الإحصاءات الوصفية للمتغيرات الرقمية باستخدام describe()
- 4. استخراج الإحصاءات الوصفية للمتغيرات الفئوية والنصية
- 5. حساب مقاييس النزعة المركزية المنفصلة وتفسيرها المنهجي
- 6. حساب مقاييس التشتت والتباين الإحصائي للبيانات
- 7. تلخيص البيانات الإحصائية وفق المجموعات باستخدام groupby()
- 8. تطبيق التجميع المخصص باستخدام التابعين agg() و aggregate()
- 9. معالجة القيم المفقودة وتأثيرها المنهجي على حساب الإحصاءات الوصفية
- 10. حساب الإحصاءات التوزيعية المتقدمة والعلاقات الارتباطية
- 11. تصدير وتنسيق الجداول الإحصائية الملخصة للتقارير العلمية
- 12. أفضل الممارسات المنهجية والأخطاء الشائعة في تلخيص بيانات Pandas
- خاتمة
- References
1. مقدمة إلى الإحصاء الوصفي وأهميته في تحليل إطارات بيانات بانداس
1.1 مفهوم الإحصاءات الوصفية والتلخيصية في بيئة بايثون
يُعرَّف الإحصاء الوصفي (Descriptive Statistics) بأنه الفرع المعرفي المعني بجمع، وتلخيص، وتنظيم، وعرض البيانات الكمية والنوعية بطريقة تتيح استيعاب خصائصها الأساسية دون الإخلال ببنيتها الجوهرية. يشكل هذا الحقل الركيزة الجوهرية لمرحلة التحليل الاستكشافي للبيانات، حيث يُتيح للمحلل الانتقال من مستوى الملاحظات الفردية المشتتة إلى مستوى المؤشرات الكلية المعبرة. في بيئة بايثون، يكتسب الإحصاء الوصفي بعداً عملياً فائق الأهمية، إذ تتكامل الدوال الرياضية مع الخوارزميات الحاسوبية لمعالجة المصفوفات بكفاءة تامة.
تتكامل مؤشرات الإحصاء الوصفي لتقديم توصيف دقيق لشكل التوزيع التكراري للبيانات؛ إذ يتم فحص مدى اقتراب التوزيع من التوزيع الطبيعي المعياري (Normal Distribution)، الذي يعد الافتراض الأساسي للعديد من النماذج الإحصائية. يتطلب هذا التوصيف استخدام مقاييس التمركز لتحديد مركز الثقل الحسابي للبيانات، مدعومة بمقاييس التشتت التي تقيس درجة التباعد والاختلاف حول هذا المركز. إن الفهم الرياضي الدقيق لهذه المقاييس يتيح للمحلل المفاضلة المنهجية بين الاختبارات الإحصائية المعلمية (Parametric) التي تفترض اعتدالية التوزيع، والاختبارات اللامعلمية (Non-parametric) المصممة للتعامل مع التوزيعات الحرة وغير المقيدة.
تكمن القيمة العلمية للإحصاء الوصفي في قدرته على ترجمة المخرجات الرقمية الجافة إلى استنتاجات واقعية وتفسيرات دلالية ملموسة. فعندما نقوم بحساب تباين عينة دراسية أو حساب انحرافها المعياري داخل بيئة بايثون، فإننا لا ننتج مجرد أرقام مجردة، بل نحدد بدقة مدى تجانس العينة، ومستوى المخاطرة في التنبؤات المالية، أو اتساق القياسات المعملية، مما يجعل التلخيص الإحصائي أداة لا غنى عنها في اتخاذ القرارات القائمة على البيانات.
1.2 بنية مكتبة بانداس ودور كائن DataFrame في تمثيل المتغيرات
ترتكز مكتبة بانداس في تصميمها البرمجي على كائنين أساسيين: السلسلة (Series) وإطار البيانات (DataFrame). تمثل السلسلة مصفوفة أحادية البعد قادرة على حمل أي نوع من البيانات مع فهرس ترتيبي مصاحب، في حين يمثل كائن DataFrame مصفوفة ثنائية الأبعاد تتألف من صفوف وأعمدة ذات تسميات محددة. يتيح هذا الهيكل الهرمي تمثيل المتغيرات الإحصائية بشكل يحاكي الجداول الإحصائية التقليدية، حيث يمثل كل عمود متغيراً عشوائياً مستقلاً أو تابعاً، ويمثل كل صف وحدة مشاهدة أو قيداً تجريبياً مستقلاً.
تدعم مكتبة بانداس طيفاً واسعاً من أنواع البيانات الحسابية، مثل الأرقام الصحيحة (int64)، والأرقام العشرية ذات الفاصلة العائمة (float64)، والبيانات المنطقية (bool)، والبيانات النصية (object)، بالإضافة إلى البيانات الفئوية (category) والمؤقتة (datetime64). يتيح هذا التنوع معالجة المتغيرات الاسمية والترتيبية والكمية (المتصلة والمنفصلة) وفقاً لخصائصها الرياضية المحددة، مما يضمن تطبيق العمليات الحسابية الصحيحة على كل نوع من أنواع البيانات دون الوقوع في أخطاء التنميط الخاطئ للمتغيرات.
تعتمد مكتبة بانداس في جوهرها الحاسوبي على بنية مكتبة NumPy المكتوبة بلغة C، مما يمنحها قدرة فائقة على تنفيذ العمليات الحسابية الموجهة (Vectorized Operations). هذه الميزة تلغي الحاجة إلى استخدام الحلقات التكرارية التقليدية (For Loops) في لغة بايثون، مما يؤدي إلى تسريع حساب المؤشرات الإحصائية المعقدة عبر ملايين الصفوف بأجزاء من الثانية، مستفيدة من التخصيص المتجانس للذاكرة والعمليات المتوازية للمعالجات الحديثة.
1.3 الأهداف المنهجية لتلخيص البيانات في البحوث والتحليلات
يمثل التلخيص الإحصائي للبيانات خطوة منهجية استباقية لا يمكن تجاوزها في أي مسار بحثي رصين. يتمثل الهدف الأول لهذه الخطوة في الكشف المبكر عن القيم الشاذة والمتطرفة (Outliers)، وهي المشاهدات التي تنحرف بشكل ملحوظ عن المسار العام لبقية البيانات. يساعد تحديد هذه القيم عبر المؤشرات الوصفية في تشخيص أسباب وجودها؛ سواء كانت ناتجة عن أخطاء في القياس والترميز والإدخال، أو كانت تعكس ظواهر حقيقية نادرة تتطلب دراسة معمقة ومعاملة إحصائية خاصة.
علاوة على ذلك، يُسهم التلخيص الإحصائي في تقييم جودة البيانات والتحقق من التناسق الداخلي للمقاييس وأدوات جمع البيانات. فمن خلال مراجعة النطاقات العددية والقيم الدنيا والقصوى، يستطيع الباحث التحقق من عدم وجود قيم خارج النطاق المنطقي للتجربة، مثل تسجيل أعمار سالبة أو درجات حرارة مستحيلة فيزيائياً. كما يتيح فحص معاملات التشتت والتمركز الحكم على مدى استقرار أداة القياس وموثوقيتها عبر العينات المختلفة.
أخيراً، يُعد تلخيص البيانات مرحلة تأسيسية لا غنى عنها لإعداد المتغيرات للمراحل المتقدمة من النمذجة الإحصائية والتعلم الآلي (Machine Learning). تتطلب خوارزميات الانحدار، والتحليل العاملي، والشبكات العصبية فهماً دقيقاً لمستويات القياس والتباين داخل كل متغير لتطبيق تقنيات التقييس المعياري (Standardization) وتطبيع البيانات (Normalization) على أسس منهجية متينة، مما يضمن كفاءة واستقرار النماذج التنبؤية اللاحقة.
2. تهيئة البيئة البرمجية وإنشاء إطار البيانات النموذجي
2.1 استيراد المكتبات الأساسية وضبط خيارات العرض
تبدأ المعالجة الإحصائية الرصينة في بيئة بايثون بتهيئة بيئة العمل البرمجية واستيراد المكتبات التحليلية وفق الأعراف القياسية المعتمدة مجتمعياً في علوم البيانات. يتم استيراد مكتبة بانداس تحت الاسم المختصر المتفق عليه عالمياً pd، واستيراد مكتبة نمباي تحت الاسم المختصر np. يضمن هذا التوثيق المعياري سهولة قراءة الشفرة البرمجية وقابليتها للصيانة وإعادة الاستخدام عبر بيئات العمل المختلفة مثل Jupyter Notebooks والبيئات السحابية المتكاملة.
لضمان الحصول على تقارير إحصائية واضحة ومقروءة بدقة، توفر بانداس واجهة تهيئة غنية تتيح للمحلل التحكم الكامل في خيارات التنسيق والعرض عبر وحدة pd.set_option(). يُعد ضبط دقة عرض الخانات العشرية (display.precision) من الإجراءات الجوهرية لمنع تشتت القارئ بالأرقام الطويلة غير المعنوية، مع الحفاظ على الدقة الحسابية الكاملة في الذاكرة الأساسية. يمكن للمحلل تحديد عدد الخانات العشرية المعروضة وفق متطلبات التقرير الإحصائي المستهدف.
كذلك، ينبغي تهيئة البيئة لعرض كافة الصفوف والأعمدة عند فحص الإحصاءات الوصفية، خاصة عند التعامل مع أطر بيانات واسعة تضم عشرات المتغيرات. من خلال تعديل خيارات مثل display.max_columns و display.max_rows، يتم إلغاء الضغط التلقائي للجداول، مما يضمن للمحلل فحص كل عمود ومتغير دون استقطاع أو إخفاء للبيانات، وهو ما يسهم في رصد أي اختلالات بنيوية في البيانات في وقت مبكر من عملية التحليل.
2.2 بناء إطار البيانات التجريبي متعدد المتغيرات
لإجراء تجارب محاكاة واقعية وتطبيق كافة المفاهيم الإحصائية الوصفية عملياً، من الضروري بناء إطار بيانات تجريبي يجمع بين التنوع الهيكلي والخصائص الإحصائية المختلفة للمتغيرات. يجب أن يشتمل هذا الإطار على متغيرات كمية مستمرة (Continuous Data) كالمقاييس المالية والفيزيائية، ومتغيرات كمية منفصلة (Discrete Data) مثل أعداد المعاملات وتكرارات الظواهر، إلى جانب متغيرات نوعية فئوية اسمية وترتيبية تعكس تصنيفات الدراسة والمجموعات المستهدفة.
يتعين أيضاً إدراج قيم مفقودة (Missing Values) تمثل علامات NaN (Not a Number) بشكل مقصود ومدروس داخل إطار البيانات التجريبي، لمحاكاة التحديات الحقيقية التي تواجه الباحثين عند جمع البيانات الميدانية. يُسهم ذلك في فحص سلوك التوابع الإحصائية المختلفة وتفاعلها مع الفقدان البياني، مما يتيح اختبار استراتيجيات التصفية والتعويض الحسابي بدقة.
عقب بناء إطار البيانات، يتعين إجراء فحص أولي للبنية التنظيمية باستخدام التابع info() لاستكشاف عدد القيود الإجمالية وأنواع البيانات وتوزيع القيم غير المفقودة عبر الأعمدة، واستخدام التابع head() لمعاينة الصفوف الأولى. يوفر هذا الفحص الاستكشافي الأولي خارطة طريق واضحة للمحلل، تمكنه من التحقق من صحة إدخال المتغيرات قبل الانتقال إلى إجراء العمليات الحسابية الأكثر تعقيداً.
2.3 التحقق من صحة أنواع البيانات وتأهيلها للتحليل الإحصائي
يعد التدقيق المنهجي في أنواع البيانات (Data Types) من أهم شروط الدقة في التحليل الإحصائي؛ إذ إن التعامل الخاطئ مع الأنواع البرمجية يؤدي حتماً إلى نتائج مضللة أو تعطل العمليات الحسابية بالكامل. غالباً ما تُحمَّل المتغيرات الرقمية كنصوص برمجية (Strings) نتيجة وجود رموز خاصة أو مسافات فارغة في ملفات المصدر الأصلية، مما يتطلب تحويلها الصريح إلى أنواع رقمية مناسبة كالأرقام العشرية (float64) أو الأرقام الصحيحة (int64) لتمكين المعالجة الرياضية المباشرة.
في المقابل، يتطلب التعامل مع المتغيرات النصية غير المستمرة تحويلها إلى بيانات فئوية (category) باستخدام التابع astype('category'). لا يقتصر أثر هذا التحويل على تقليل استهلاك الذاكرة العشوائية بشكل هائل فحسب، بل يمنح المتغيرات ترتيباً منطقياً داخلياً يدعم العمليات الإحصائية الترتيبية، مثل حساب الوسيط للفئات المرتبة أو استخراج المنوال بكفاءة عالية، مما يعزز دقة وموثوقية المعالجة اللاحقة.
يتوجب في هذه المرحلة التوثيق الكامل لحجم العينة الكلي وخصائص كل متغير، مع تحديد المتغيرات المستقلة والمتغيرات التابعة بدقة. يضمن هذا التوثيق التأكد من أن جميع التحويلات البرمجية قد حافظت على سلامة القياسات الأصلية ولم تُدخل أي تشوهات أو انحيازات رقمية غير مقصودة في مصفوفة البيانات قبل البدء الفعلي في مرحلة التلخيص الإحصائي.
3. حساب الإحصاءات الوصفية للمتغيرات الرقمية باستخدام describe()
3.1 آلية عمل التابع describe() الافتراضي
يُعد التابع describe() في مكتبة بانداس الأداة الحسابية الأكثر شهرة وشمولاً لتوليد ملخص إحصائي سريع ومكثف للمتغيرات الرقمية. عند تطبيق هذا التابع على كائن DataFrame دون تمرير معاملات إضافية، يقوم تلقائياً بمسح كافة الأعمدة الرقمية، واستبعاد الأعمدة النصية وغير العددية، وحساب ثمانية مؤشرات إحصائية أساسية تلخص النزعة المركزية والتشتت ونطاق التوزيع لكل متغير في جدول واحد متناسق.
يبدأ الجدول الناتج بمقياس العدد (count) الذي يمثل عدد القيم غير المفقودة لكل متغير، يليه المتوسط الحسابي (mean) والانحراف المعياري (std) الذي يقيس تشتت المشاهدات عن هذا المتوسط. كما يُدرج التابع القيمة الصغرى (min) والقيمة القصوى (max) لتحديد المدى المطلق للمتغير، مدعومة بالربيعيات الإحصائية الأساسية: الربيع الأول (25%)، والوسيط أو الربيع الثاني (50%)، والربيع الثالث (75%)، مما يوفر وصفاً خماسياً شاملاً لبنية البيانات وفق منهجية “ملخص الأرقام الخمسة” (Five-number summary).
من أهم المزايا المنهجية للتابع describe() هي تعامله التلقائي والصارم مع القيم المفقودة (NaN)؛ حيث يستبعد هذه القيم افتراضياً من الحسابات الرياضية لكل عمود على حدة. يضمن هذا السلوك عدم تلوث المؤشرات الإحصائية بالقيم غير المعرفة، إلا أنه يفرض في الوقت ذاته على المحلل مقارنة أعداد المشاهدات الفعلية (count) عبر المتغيرات لرصد أي تباين في أحجام العينات الصالحة للتحليل.
3.2 تخصيص المئينات الإحصائية (Percentiles) عبر المعاملات
على الرغم من أن التابع describe() يولد افتراضياً الربيعيات الأساسية (25%، 50%، 75%)، إلا أن التحليلات المتقدمة تتطلب في كثير من الأحيان فحص مئينات إحصائية (Percentiles) أكثر دقة وتخصصاً. يتيح معامل percentiles للمحلل تمرير قائمة مخصصة من القيم الكسرية المحصورة بين 0 و 1، مما يسمح بحساب مئينات محددة تلبي متطلبات البحث الدقيقة، مثل مئينات تقييم المخاطر المالية أو معايير الجودة الصناعية.
يُعد استخراج العشيرات والمئينات المتطرفة—مثل المئين الأول (0.01)، والخامس (0.05)، والخامس والتسعين (0.95)، والتاسع والتسعين (0.99)—وسيلة إحصائية فائقة الفعالية للكشف عن القيم الشاذة والمتطرفة وتحديد طبيعة ذيول التوزيع (Distribution Tails). فمن خلال مقارنة المسافات الرياضية بين المئين 95 والمئين 99 مع المسافة بين الوسيط والربيع الثالث، يمكن للمحلل استنتاج وجود ثقل شاذ في الذيل الأيمن أو الأيسر للتوزيع دون الحاجة إلى الاعتماد على التمثيل البياني فقط.
تساعد مقارنة التباعد النسبي بين المئينات المخصصة في تقييم مدى تماثل البيانات والتواء التوزيع التكراري. فإذا كانت المئينات متباعدة بشكل غير متكافئ حول نقطة المركز (الوسيط)، دل ذلك على وجود التواء موجب أو سالب، وهو ما يوفر للمحلل مؤشراً كمياً أولياً وموثوقاً حول مدى مطابقة البيانات لتوزيع غاوس الطبيعي.
3.3 تطبيق describe() على أعمدة مفردة ومجموعات فرعية من المتغيرات
في العديد من السيناريوهات التطبيقية، لا يكون من المجدي أو الفعال حساب الإحصاءات الوصفية لكافة أعمدة إطار البيانات دفعة واحدة، لا سيما في مجموعات البيانات الكبيرة التي تحتوي على مئات المتغيرات المستقلة. يتيح بانداس تطبيق التابع describe() على مستوى كائن Series مفرد يمثل عموداً محدداً، مما يقلل العبء الحسابي ويركز التحليل على المتغير المعني بالدراسة الاستكشافية بشكل فوري ومباشر.
علاوة على ذلك، يمكن للمحلل استخراج جدول إحصائي تلخيصي لمجموعة فرعية من المتغيرات عبر تقنية التحديد بالأعمدة (Column Subsetting)، بتمرير قائمة تحتوي على أسماء المتغيرات المستهدفة فقط مثل df[['var1', 'var2']].describe(). تتيح هذه المنهجية تنظيم التقارير الإحصائية وتجميع المتغيرات ذات الطبيعة المتشابهة (مثل المؤشرات المالية معاً، والمؤشرات الديموغرافية في جدول منفصل) لتسهيل المقارنة بينها.
يؤدي هذا الاستهداف الانتقائي للمتغيرات إلى تحسين الأداء الحسابي وإدارة الذاكرة (Memory Management) عند العمل مع البيانات الضخمة (Big Data). فبدلاً من إجهاد المعالج بحساب مصفوفة الإحصاءات الكاملة لمتغيرات غير ذات صلة، يتم حصر العمليات الموجهة على المتغيرات المستهدفة بالتحليل الإحصائي، مما يعزز كفاءة وسرعة المعالجة الحاسوبية.
4. استخراج الإحصاءات الوصفية للمتغيرات الفئوية والنصية
4.1 استخدام المعامل include=’object’ لتلخيص النصوص
تتطلب المتغيرات النوعية (الاسمية والترتيبية) والنصوص التوصيفية معالجة إحصائية تختلف جذرياً عن المتغيرات الكمية؛ إذ لا معنى لحساب المتوسط الحسابي أو التباين لمتغير يمثل الحالة الاجتماعية أو بلد الإقامة. لمعالجة هذه المتغيرات، توفر بانداس إمكانية تخصيص التابع عبر المعامل include='object' أو include=['category'] لاستخراج ملخص إحصائي نوعي يتلاءم مع الطبيعة اللامعلمية لهذه المتغيرات.
يحتوي الملخص الإحصائي المخصص للمتغيرات النصية على أربعة مؤشرات أساسية: مقياس العدد (count) الذي يوضح إجمالي المشاهدات المسجلة والصالحة، ومقياس القيم الفريدة (unique) الذي يحدد عدد الفئات أو التصنيفات المختلفة الموجودة داخل المتغير. يعكس هذا المؤشر الأخير درجة التنوع والتشتت النوعي للمتغير، مما يساعد في تقييم مدى كفاية التصنيفات المستخدمة في جمع البيانات.
بالإضافة إلى ذلك، يُستخرج المنوال الاسمي عبر مؤشر القيمة الأكثر تكراراً (top)، مصحوباً بمؤشر تكرار القيمة الأكثر ظهوراً (freq). يوفر هذا المؤشر الأخير مقياساً دقيقاً للنزعة المركزية الاسمية، حيث يوضح مدى سيطرة فئة معينة على المشاهدات، مما يتيح للمحلل حساب النسبة المئوية للمنوال ومقارنتها ببقية الفئات لتقييم مدى اتزان أو انحياز التوزيع النوعي للعينة.
4.2 دمج وتضمين كافة أنواع البيانات عبر include=’all’
عند الرغبة في توليد نظرة بانورامية شاملة تغطي كافة أبعاد إطار البيانات، يمكن تمرير المعامل include='all' إلى التابع describe(). يقوم هذا الإجراء بدمج كافة المتغيرات الرقمية، والنصية، والفئوية في جدول إحصائي تلخيصي موحد يضم كافة المقاييس الوصفية الإحدى عشرة التي تقدمها بانداس، مما يوفر وثيقة مرجعية أولية شاملة عن هيكل البيانات الكامل.
يؤدي هذا الدمج الشامل إلى ظهور قيم غير معرفة (NaN) في خلايا المقاييس غير القابلة للتطبيق منطقياً ورياضياً؛ حيث تظهر هذه القيم في خانات المتوسط والانحراف المعياري للمتغيرات النصية، وفي خانات القيم الفريدة والمنوال للمتغيرات الرقمية المستمرة (ما لم تُعامل كفئات). يُعد هذا الظهور نتيجة طبيعية للتوفيق بين مقاييس رياضية متباينة في مصفوفة موحدة.
يتطلب استخدام هذا الخيار موازنة دقيقة من قِبل الباحث بين الرغبة في شمولية التقرير وسهولة قراءته؛ إذ قد يؤدي اتساع الجدول وتناثر القيم الفارغة فيه إلى تشتيت الانتباه وصعوبة التفسير. لذلك، يُفضل استخدام التقرير الموحد في مراحل الاستكشاف السريعة، وتجزئته إلى جداول متخصصة ومنفصلة عند إعداد الوثائق النهائية والتقارير الأكاديمية الرسمية.
4.3 استثناء واستبعاد أنواع محددة باستخدام exclude
توفر مكتبة بانداس آلية عكسية مرنة من خلال المعامل exclude، والذي يسمح للمحلل باستبعاد أنواع محددة من البيانات من مخرجات التلخيص الإحصائي. يُعد هذا الخيار مفيداً بشكل خاص عند العمل مع أطر بيانات معقدة تحتوي على مزيج من المتغيرات الحسابية، والمعرفات الرقمية الطويلة (IDs)، والمتغيرات الزمنية (Datetime)، والمتغيرات الفئوية.
على سبيل المثال، يمكن تمرير exclude=['object', 'datetime64'] لضمان استبعاد كافة النصوص والتواريخ والتركيز الحصري على المتغيرات المستمرة والمتقطعة، أو استبعاد الأنواع الرقمية للتركيز على استكشاف الفئات والتصنيفات. تتيح هذه المرونة تنقية المخرجات الإحصائية بما يتوافق بدقة مع أسئلة البحث والفرضيات العلمية المراد اختبارها، دون الحاجة إلى تعديل أو حذف أي أعمدة من إطار البيانات الأصلي.
يُسهم هذا التحكم الدقيق في الاستبعاد والتضمين في بناء أنابيب معالجة برمجية (Pipelines) تتسم بالكفاءة وقابلية التكرار؛ حيث يمكن توجيه أنواع مختلفة من المتغيرات تلقائياً إلى مسارات المعالجة والتحليل الإحصائي المناسبة لها، مما يحد من احتمالية وقوع الأخطاء المنهجية الناتجة عن تطبيق دوال رياضية غير ملائمة على متغيرات وصفية أو ترتيبية.
5. حساب مقاييس النزعة المركزية المنفصلة وتفسيرها المنهجي
5.1 حساب المتوسط الحسابي (Mean) وضوابط استخدامه
يُمثل المتوسط الحسابي (Arithmetic Mean) المقياس المعلمي الأكثر شيوعاً واستخداماً لتحديد نقطة التوازن الميكانيكي للبيانات الكمية. في مكتبة بانداس، يتم حساب المتوسط الحسابي للأعمدة الرقمية عبر استدعاء التابع df.mean()، والذي يجمع قيم المشاهدات ويقسمها على عددها الفعلي الصالح لكل متغير وفق المحور الرأسي الافتراضي (axis=0)، مع إمكانية حسابه أفقياً عبر الصفوف بتعيين (axis=1).
من الضروري الانتباه إلى حساسية المتوسط الحسابي الشديدة تجاه القيم الشاذة والمتطرفة (Outliers) والتوزيعات الملتوية؛ حيث ينجذب المتوسط بقوة نحو الذيل الطويل للتوزيع، مما يجعله مقياساً مضللاً إذا استُخدم منفرداً لوصف بيانات غير متماثلة (مثل توزيعات الدخل والثروات). لذلك، يتطلب الاستخدام المنهجي السليم للمتوسط مقارنته الدائمة بالوسيط الحسابي لتقدير حجم الانحياز الناجم عن التطرف الرقمي.
بدءاً من الإصدارات الحديثة لمكتبة بانداس، أصبح استخدام المعامل numeric_only=True أمراً إلزامياً وموصى به بشدة عند تطبيق التابع mean() على إطار بيانات غير متجانس. يضمن هذا المعامل حصر العمليات الحسابية على الأعمدة الرقمية الحقيقية وتجنب أخطاء عدم توافق الأنواع (TypeError) التي قد تنجم عن محاولة حساب المتوسط للأعمدة النصية أو الفئوية، مما يعزز استقرار الشفرة البرمجية وموثوقيتها.
5.2 حساب الوسيط الإحصائي (Median) للمتغيرات المستمرة والترتيبية
يُعرَّف الوسيط الإحصائي (Median) بأنه القيمة التي تقسم مجموعة البيانات المرتبة تصاعدياً إلى نصفين متساويين تماماً، بحيث يقع 50% من المشاهدات أسفل هذه القيمة و50% أعلاها. يتم استخراج الوسيط في بانداس عبر التابع df.median()، ويتميز بأنه مقساس “مقاوم” (Robust Statistic) لا يتأثر مطلقاً بالقيم الشاذة أو التغيرات الشديدة في أطراف التوزيع، مما يجعله المقياس المفضل لوصف النزعة المركزية للبيانات الملتوية والمتغيرات الترتيبية.
تكتسب المقارنة بين المتوسط والوسيط دلالة تشخيصية بالغة الأهمية في الإحصاء الاستكشافي؛ فعندما يتطابق المتوسط الحسابي مع الوسيط، يكون التوزيع متماثلاً تماماً حول مركزه. أما إذا كان المتوسط أكبر من الوسيط، دل ذلك على وجود التواء إيجابي نحو اليمين (Right-skewed)، في حين يدل كون المتوسط أصغر من الوسيط على وجود التواء سلبي نحو اليسار (Left-skewed). توفر هذه المقارنة الرقمية السريعة مؤشراً أولياً حول شكل التوزيع دون الحاجة إلى بناء مدرجات تكرارية معقدة.
يتعامل التابع median() مع البيانات ذات الأطوال الزوجية بحساب المتوسط الحسابي للقيمتين المركزيتين تلقائياً. كما يدعم التابع معالجة السلاسل الزمنية والمتغيرات الترتيبية بكفاءة عالية، مما يجعله أداة إحصائية موثوقة في دراسات استطلاعات الرأي والقياس النفسي حيث تُقاس الاستجابات على مقاييس ليكرت (Likert Scales) الترتيبية.
5.3 استخراج المنوال (Mode) وتعدد الأنماط التكرارية
يُعرف المنوال (Mode) بأنه القيمة أو الفئة الأكثر تكراراً وشيوعاً داخل مجموعة البيانات، وهو المقياس الوحيد للنزعة المركزية الذي يمكن تطبيقه بصورة صحيحة على كافة مستويات القياس الإحصائي، بما في ذلك البيانات الاسمية والنوعية البحتة. يُحسب المنوال في بانداس باستخدام التابع df.mode()، الذي يقوم بفرز التكرارات وتحديد القيم ذات التردد الأعلى لكل عمود.
على عكس المتوسط والوسيط اللذين ينتجان دائماً قيمة مفردة لكل متغير، قد تتميز التوزيعات الإحصائية بوجود أكثر من منوال واحد؛ مثل التوزيعات ثنائية المنوال (Bimodal) أو متعددة المنوال (Multimodal). في هذه الحالات، يعيد التابع mode() كائن DataFrame يحتوي على صفوف متعددة تتضمن كافة القيم التي حققت أعلى تكرار بالتساوي، مع ملء بقية الخلايا بقيم NaN في المتغيرات ذات الأنماط الأحادية، مما يفرض على المحلل معالجة الهيكل الناتج بعناية.
يُعد فحص المنوالات المتعددة وسيلة مهمة للكشف عن عدم تجانس مجتمع الدراسة أو وجود مجتمعات فرعية مدمجة داخل العينة (مثل وجود فئتين عمريتين متمايزتين داخل عينة واحدة). يتيح الكشف عن هذه التعددية التكرارية اتخاذ قرارات منهجية تتعلق بضرورة تجزئة البيانات وفصل المجموعات الفرعية قبل المضي قدماً في إجراء التحليلات الاستدلالية المتقدمة.
6. حساب مقاييس التشتت والتباين الإحصائي للبيانات
6.1 حساب التباين (Variance) والانحراف المعياري (Standard Deviation)
لا تكتمل الصورة الإحصائية بالاعتماد على مقاييس النزعة المركزية وحدها؛ إذ يمكن لمجموعتين مختلفتين تماماً من البيانات أن تتطابقا في المتوسط الحسابي ولكنهما تختلفان جذرياً في مدى انتشار المشاهدات وتشتتها. يُعد التباين (Variance) والانحراف المعياري (Standard Deviation) المقياسين المعلميين الأساسيين لقياس متوسط مربعات انحرافات المشاهدات عن متوسطها الحسابي، ويتم حسابهما في بانداس عبر التابعين df.var() و df.std() على التوالي.
من الأمور الفنية البالغة الأهمية التي ينبغي على المحلل إدراكها هي مسألة درجات الحرية (Degrees of Freedom). تستخدم مكتبة بانداس افتراضياً المعامل ddof=1 (Delta Degrees of Freedom)، وهو ما يعني أنها تحسب تباين وانحراف العينة غير المتحيز (Sample Variance) بقسمة مجموع مربعات الانحرافات على (N – 1) وفق تصحيح بيسل (Bessel’s Correction). هذا السلوك يختلف عن مكتبة نمباي التي تستخدم افتراضياً ddof=0 لحساب تباين المجتمع الإحصائي الكلي (Population Variance). لذلك، يجب ضبط هذا المعامل بدقة لضمان اتساق النتائج وفق طبيعة البيانات المدروسة.
يقدم الانحراف المعياري ميزة كبرى مقارنة بالتباين تتمثل في أنه يُعبر عن التشتت بنفس وحدات قياس المتغير الأصلي (بدلاً من الوحدات المربعة للتباين)، مما يسهل تفسيره علمياً وعملياً. ففي التوزيعات الطبيعية، تتيح معرفة الانحراف المعياري تطبيق “القاعدة التجريبية” (Empirical Rule)، حيث يقع حوالي 68% من المشاهدات ضمن انحراف معياري واحد من المتوسط، و95% ضمن انحرافين معياريين، مما يوفر إطاراً واضحاً لتقييم تجانس العينة وتحديد الحدود المتوقعة للظاهرة.
6.2 حساب المدى (Range) والمدى الربيعي (Interquartile Range – IQR)
يُمثل المدى المطلق (Range) أبسط مقاييس التشتت الرياضية، ويُعرَّف بأنه الفارق الحسابي المباشر بين القيمة العظمى والقيمة الصغرى للمتغير. على الرغم من أن بانداس لا تحتوي على تابع مدمج باسم range()، إلا أنه يُحسب بسهولة وبكفاءة موجهة من خلال طرح القيمتين: df.max() - df.min(). يقدم المدى فكرة سريعة عن الامتداد الكلي للبيانات، ولكنه يعاني من عيب جوهري يتمثل في حساسيته الشديدة للقيم الشاذة التي قد تضخمه بصورة غير ممثلة للغالبية العظمى من المشاهدات.
للتغلب على هذا القصور، يُستخدم المدى الربيعي (Interquartile Range – IQR) كمقياس تشتت مقاوم للقيم المتطرفة، حيث يُحسب بطرح الربيع الأول من الربيع الثالث: df.quantile(0.75) - df.quantile(0.25). يقيس هذا المؤشر نطاق انتشار الـ 50% الوسطى من المشاهدات، متجاهلاً تماماً الذيول والامتدادات الطرفية الشاذة، مما يجعله مقياس التشتت المثالي المصاحب للوسيط الإحصائي في توصيف التوزيعات غير المتماثلة.
يُشكل المدى الربيعي الأساس الرياضي لمعيار جون توكي (John Tukey) الشهير لتحديد القيم المتطرفة والشاذة داخل مخططات الصندوق (Boxplots). فوفقاً لهذه المنهجية، تُعد أي مشاهدة تتجاوز الحدود الواقعة خارج Q3 + 1.5 * IQR أو تقل عن Q1 - 1.5 * IQR قيمة متطرفة تتطلب فحصاً معمقاً وتوثيقاً منهجياً دقيقاً لأسباب ظهورها وتأثيرها على استنتاجات الدراسة.
6.3 حساب معامل الاختلاف (Coefficient of Variation) والمقاييس النسبية
تعتمد المقاييس السابقة (التباين، الانحراف المعياري، المدى) على وحدات القياس الأصلية للمتغيرات، مما يجعلها مقاييس مطلقة لا تتيح المقارنة المباشرة لدرجة التشتت بين متغيرين يختلفان في وحدات القياس (مثل مقارنة تشتت الطول بالسنتيمتر مع تشتت الوزن بالكيلوغرام)، أو يختلفان في مقياس الحجم والمتوسط الحسابي (مثل مقارنة تذبذب أرباح شركة ناشئة مع شركة كبرى عابرة للقارات).
يحل معامل الاختلاف (Coefficient of Variation – CV) هذه الإشكالية بصفته مقياساً نسبياً مجرداً من وحدات القياس، ويُعرَّف رياضياً بأنه النسبة المئوية للانحراف المعياري مقسوماً على المتوسط الحسابي: (df.std() / df.mean()) * 100. كلما ارتفعت قيمة معامل الاختلاف، دل ذلك على زيادة التشتت النسبي وعدم الاستقرار في المتغير مقارنة بمتوسطه، في حين تشير القيم المنخفضة إلى تجانس واستقرار مرتفع في القياسات.
يُعد معامل الاختلاف أداة تحليلية أساسية في تقييم المخاطر المالية، ومقارنة تباين التجارب المعملية، والتحقق من ثبات أدوات القياس عبر العينات المختلفة. ومع ذلك، يجب توخي الحذر الشديد والامتناع عن استخدام هذا المقياس عندما يكون المتوسط الحسابي قريباً من الصفر أو للمتغيرات التي تقاس على مقاييس فترية (Interval Scales) لا تحتوي على صفر مطلق (مثل درجات الحرارة المئوية)، لتجنب الحصول على قيم كسرية مشوهة لا معنى لها رياضياً.
7. تلخيص البيانات الإحصائية وفق المجموعات باستخدام groupby()
7.1 المبدأ المنهجي لتقنية Split-Apply-Combine في بانداس
ترتكز معالجة وتلخيص البيانات المتقدمة في مكتبة بانداس على النموذج المنهجي الشهير المعروف بـ “التقسيم والتطبيق والدمج” (Split-Apply-Combine)، والذي صاغه هادلي ويكهام (Hadley Wickham). تتيح هذه التقنية تقسيم إطار البيانات الأصلي إلى مجموعات فرعية متجانسة استناداً إلى متغير تصنيفي واحد أو أكثر، وتطبيق العمليات الحسابية والإحصائية على كل مجموعة بصورة مستقلة، ثم تجميع ودمج النتائج في هيكل بيانات جدول نهائي موحد يسهل قراءته ومقارنته.
يتم تنفيذ هذه المنهجية عبر التابع df.groupby('group_column')، والذي لا ينشئ نسخة جديدة من البيانات في الذاكرة بصورة مباشرة، بل يُنشئ كائناً تجميعياً وسيطاً (DataFrameGroupBy object) يحتوي على المؤشرات والمجموعات المنطقية. يؤدي تطبيق الدوال الإحصائية على هذا الكائن إلى استغلال عالي للكفاءة الحسابية، وتجنب استهلاك الذاكرة العشوائية الناتج عن إنشاء جداول وسيطة متعددة.
ينتج عن عمليات التجميع متعددة المتغيرات فهارس هرمية مركبة (MultiIndex) في الصفوف أو الأعمدة. تُعد هذه البنية المتقدمة وسيلة قوية لتمثيل الأبعاد المتعددة للبيانات، إلا أنها قد تتطلب إعادة تسوية وضبط باستخدام التابع reset_index() لتحويل الفهارس الهرمية إلى أعمدة جدولية قياسية جاهزة للتصدير والتحليل التكميلي.
7.2 حساب الإحصاءات الفردية لكل مجموعة تجريبية أو تصنيفية
تتيح بنية التجميع في بانداس تطبيق كافة الدوال الإحصائية الفردية مباشرة على المجموعات المصنفة عبر شفرات برمجية واضحة وموجزة. فعلى سبيل المثال، يؤدي استدعاء df.groupby('Category').mean(numeric_only=True) إلى حساب المتوسط الحسابي لكل متغير رقمي داخل كل فئة من فئات المتغير التصنيفي، مما يسمح بإجراء مقارنات فورية بين أداء ومستويات المجموعات التجريبية أو الديموغرافية المختلفة.
بالمثل، يمكن حساب وسيط المجموعات، والانحرافات المعيارية، ونطاقات التشتت، والنسب المئوية لكل مجموعة فرعية على حدة وبخطوة واحدة. يُعد هذا التلخيص الجماعي خطوة أولية حاسمة تسبق إجراء اختبارات الدلالة الإحصائية المقارنة؛ مثل اختبار “ت” للعينات المستقلة (Independent Samples t-test) أو تحليل التباين الأحادي (ANOVA)، حيث يوفر للمحلل تقييماً أولياً للفروق الظاهرية بين المجموعات ومدى تجانس تبايناتها.
توفر بانداس أيضاً مرونة كاملة لتحديد متغيرات رقمية معينة للتجميع دون غيرها، مثل df.groupby('Category')['Target_Variable'].std()، مما يعزل المتغير المستهدف بالدراسة ويسرع وقت المعالجة الحاسوبية عبر تجنب حساب إحصاءات الأعمدة غير الضرورية، وهو ما يضمن الحفاظ على وضوح التقرير الإحصائي وتركيزه على الفرضيات البحثية المركزية.
7.3 استخراج جدول الوصف الشامل للمجموعات عبر groupby().describe()
يمثل الجمع بين تقنية التجميع وتابع الوصف الإحصائي في صيغة df.groupby('Category').describe() أداة شديدة الفعالية لتوليد تقارير إحصائية استكشافية متكاملة لجميع المجموعات والتصنيفات في سطر برمجي واحد. ينتج عن هذا الاستدعاء مصفوفة وصفية شاملة تضم الإحصاءات الثمانية الكاملة (العدد، المتوسط، الانحراف، القيم الدنيا والعظمى، والربيعيات) محسوبة بشكل مستقل لكل فئة من فئات المتغير التصنيفي.
تتميز المخرجات الناتجة بهيكل هرمي متعدد الأعمدة (MultiIndex Columns)، يضم في مستواه الأول أسماء المتغيرات الرقمية وفي مستواه الثاني المقاييس الإحصائية التفصيلية. لتسهيل قراءة هذه المخرجات وتكييفها لأغراض العرض العلمي، يمكن استخدام دوال إعادة التشكيل مثل unstack() و stack() لتبديل محاور الجدول ومواءمة الأسطر والأعمدة بما يتناسب مع المعايير المفضلة لعرض الجداول البحثية.
تتيح هذه التقنية استخراج تقارير إحصائية تفصيلية جاهزة للإدراج المباشر في الأوراق الأكاديمية والتقارير التنفيذية؛ حيث يمكن مقارنة سلوك المتغيرات عبر المجموعات بدقة متناهية، ورصد التباينات في أحجام العينات، وتحديد الفئات التي تظهر مستويات تشتت شاذة أو قيماً متطرفة تتطلب معالجة خاصة في سياق التحليل الشامل.
8. تطبيق التجميع المخصص باستخدام التابعين agg() و aggregate()
8.1 تمرير دوال متعددة في استدعاء واحد للمتغيرات
على الرغم من الشمولية التي يقدمها التابع describe()، إلا أن متطلبات التحليل الإحصائي المتقدم تستدعي في كثير من الأحيان استخراج تشكيلات مخصصة ومحددة من المقاييس الإحصائية التي لا يوفرها التابع الافتراضي دفعة واحدة (مثل دمج المتوسط والوسيط وحساب معامل الالتواء في جدول واحد). يوفر التابعان المترادفان agg() و aggregate() في بانداس مرونة غير محدودة لتطبيق قوائم متعددة من الدوال الإحصائية في استدعاء برمجي موحد وعالي الكفاءة.
يمكن للمحلل تمرير قائمة من السلاسل النصية التي تمثل الدوال المدمجة في بانداس مثل ['mean', 'median', 'std', 'skew', 'kurt']، أو تمرير كائنات الدوال الرياضية مباشرة من مكتبات متخصصة مثل NumPy و SciPy (مثل [np.mean, np.median, scipy.stats.sem]). تقوم بانداس بتطبيق هذه المصفوفة من الدوال بشكل متوازٍ عبر الأعمدة المستهدفة وتوليد جدول إحصائي منسق بدقة متناهية.
لضمان احترافية المخرجات وسهولة قراءتها في التقارير الإحصائية، تتيح بانداس تقنية “التجميع المسمى” (Named Aggregation)؛ حيث يمكن للمحلل إعادة تسمية الأعمدة الناتجة أثناء عملية الحساب مباشرة بصيغة واضحة مثل df.agg(Average=('Income', 'mean'), StdDev=('Income', 'std'))، مما يلغي الحاجة إلى خطوات لاحقة لإعادة تسمية الأعمدة وتعديل الفهارس المركبة.
8.2 تخصيص مقاييس إحصائية مختلفة لكل متغير عبر القواميس (Dictionaries)
في الدراسات متعددة المتغيرات، نادراً ما تتطلب كافة المتغيرات نفس المعالجة والمقاييس الإحصائية؛ فبينما تتطلب المتغيرات المتصلة حساب مقاييس النزعة المركزية والتشتت المتقدمة، قد لا تحتاج المتغيرات الفئوية أو المنفصلة سوى استخراج التكرارات أو النسب أو القيم الفريدة. يتيح التابع agg() تلبية هذا التنوع من خلال تمرير قاموس بايثون (Dictionary) يحدد بدقة المقاييس المطلوبة لكل متغير على حدة.
عبر كتابة قاموس بصيغة {'Age': ['mean', 'median'], 'Salary': ['std', 'min', 'max'], 'Department': 'count'}، يتم توجيه المحرك الحسابي لبانداس لتطبيق الدوال المناسبة لكل عمود دون هدر الموارد الحاسوبية في حساب مقاييس غير ذات دلالة إحصائية لبعض المتغيرات. يؤدي هذا النهج المخصص إلى إنتاج تقارير إحصائية مركزة وخالية من الحشو الرقمي غير المفيد.
تسهم هذه الطريقة القائمة على القواميس في تحسين زمن التنفيذ واستهلاك الذاكرة في مجموعات البيانات الكبيرة، حيث تتجنب العمليات الحسابية الزائدة وتمنع حدوث أخطاء المعالجة الناتجة عن محاولة تطبيق دوال رياضية معينة على أعمدة لا تتوافق معها بنيوياً، مما يضمن تدفقاً برمجياً سلساً وموثوقاً لعمليات التحليل الإحصائي الآلي.
8.3 صياغة واستخدام دوال التجميع المخصصة (Custom Aggregations & Lambda)
تتجاوز قدرات التجميع في بانداس الدوال الجاهزة لتسمح للمحللين والباحثين بصياغة واستخدام دوال حسابية مخصصة بالكامل لتلبية الاحتياجات الإحصائية الفريدة لتجاربهم ودراساتهم. يمكن تحقيق ذلك من خلال تمرير دوال بايثون القياسية المعرفة مسبقاً باستخدام def، أو عبر استخدام الدوال المجهولة السريعة والمعروفة بدوال لامبدا (Lambda Functions).
تتيح هذه الميزة حساب مؤشرات إحصائية معقدة لا تتوفر كدوال افتراضية، مثل حساب الخطأ المعياري للمتوسط (Standard Error of the Mean – SEM) بصيغة lambda x: x.std() / np.sqrt(x.count())، أو حساب المتوسط المقطوع (Trimmed Mean)، أو حساب المدى النسبي ونسب التباين المخصصة. يتم تمرير هذه الدوال المخصصة مباشرة داخل التابع agg() وتطبيقها على كافة المجموعات أو الأعمدة بسهولة متناهية.
يتطلب استخدام دوال التجميع المخصصة ودوال لامبدا توثيقاً دقيقاً للمعادلات والافتراضات الرياضية المستخدمة لضمان الشفافية العلمية وقابلية تكرار النتائج البرمجية (Reproducibility). كما ينبغي مراعاة كفاءة كتابة الدالة الرياضية لضمان توافقها مع ميزات التسريع الحسابي وتجنب العمليات التي قد تؤدي إلى إبطاء المعالجة عند العمل مع ملايين الصفوف.
9. معالجة القيم المفقودة وتأثيرها المنهجي على حساب الإحصاءات الوصفية
9.1 سلوك دوال بانداس التلقائي تجاه القيم المفقودة (NaN)
تمثل البيانات المفقودة (Missing Data) إحدى أكثر المشكلات المنهجية شيوعاً وتعقيداً في مسار التحليل الإحصائي الواقعي. صُممت مكتبة بانداس لتتعامل مع القيم المفقودة—الممثلة برمز np.nan أو مؤشرات الفقدان الجديدة pd.NA—بطريقة وقائية تعتمد على المعامل الافتراضي skipna=True في معظم الدوال الإحصائية ومقاييس التلخيص. يتيح هذا السلوك حساب المتوسطات والتباينات والمئينات باستبعاد القيم الفارغة تلقائياً دون توقف تنفيذ البرنامج.
على الرغم من الملاءمة البرمجية لهذا السلوك التلقائي، إلا أنه يترتب عليه أثر منهجي خطير يتمثل في انخفاض حجم العينة الفعلي (Effective Sample Size) لكل متغير بشكل غير متجانس عبر إطار البيانات. يؤدي هذا التباين إلى أن كل مقياس إحصائي محسوب قد يستند إلى عدد مختلف من المشاهدات الصالحة، مما يفرض على المحلل الامتناع عن افتراض تساوي أوزان المتغيرات في التحليلات الاستكشافية دون التحقق الدقيق من حجم البيانات الفعلية المستخدمة في كل عملية حسابية.
عند تعطيل هذا الخيار بتمرير skipna=False، فإن أي دالة إحصائية تواجه قيمة مفقودة واحدة داخل العمود ستعيد فوراً القيمة NaN كنتيجة للعملية برمتها. يُعد هذا الإجراء الصارم وسيلة تشخيصية مفيدة للتحقق من خلو المتغيرات الحساسة تماماً من أي فقدان بياني قبل الشروع في حساب المقاييس المعيارية التي تشترط اكتمال العينة بشكل صارم.
9.2 حساب وتلخيص توزيع الفقدان عبر إطار البيانات
تتطلب المعالجة المنهجية السليمة للبيانات إجراء فحص استكشافي شامل لنمط وتوزيع القيم المفقودة قبل اعتماد أي مؤشرات إحصائية تلخيصية. توفر بانداس أدوات مرنة لحساب كميات ونسب الفقدان؛ حيث يتيح التابع df.isnull().sum() حساب العدد المطلق للقيم الفارغة في كل متغير، في حين يقدم df.isnull().mean() * 100 النسبة المئوية الدقيقة للفقدان، مما يحدد بوضوح حجم المشكلة في كل عمود.
يساعد التحليل الكمي للفقدان في تشخيص النمط الإحصائي الحاكم لغياب البيانات، والتمييز بين الفقدان العشوائي تماماً (Missing Completely at Random – MCAR)، والفقدان العشوائي المشروط (Missing at Random – MAR)، والفقدان غير العشوائي المنهجي (Missing Not at Random – MNAR). يُعد هذا التشخيص حاسماً؛ إذ إن وجود الفقدان غير العشوائي يؤدي إلى انحيازات هيكلية تشوه قيم المتوسطات وتغير معالم التوزيعات الحقيقية للمتغيرات.
علاوة على ذلك، يمكن استكشاف تلازم الفقدان بين المتغيرات المختلفة باستخدام التجميع والإحصاءات المتقاطعة، لتحديد ما إذا كان فقدان البيانات في متغير معين يرتبط بخصائص محددة في متغيرات أخرى (مثل امتناع فئات عمرية معينة عن الإفصاح عن الدخل)، مما يوفر رؤى قيمة تسهم في توجيه قرارات المعالجة والتعويض الإحصائي اللاحقة.
9.3 مقارنة الإحصاءات قبل وبعد تطبيق استراتيجيات المعالجة والتعويض (Imputation)
يؤثر اختيار استراتيجية التعامل مع القيم المفقودة—سواء بالحذف الكلي (Listwise Deletion) باستخدام dropna() أو بالتعويض الإحصائي (Imputation) باستخدام التابع fillna()—بصورة مباشرة وحاسمة على قيم وخصائص المؤشرات الوصفية الناتجة. فعند استخدام التعويض الأحادي، كالتعويض بالمتوسط الحسابي للمتغير، يلاحظ المحلل فوراً انخفاضاً اصطناعياً في قيمة التباين والانحراف المعياري للمتغير المعوض.
ينجم هذا الانخفاض في التشتت عن تكديس أعداد كبيرة من المشاهدات المفتعلة عند نقطة المركز تماماً، مما يؤدي إلى زيادة زائفة في تفرطح التوزيع وحدته، وتشويه العلاقات والارتباطات الخطية مع المتغيرات الأخرى. في المقابل، قد يؤدي التعويض بالوسيط إلى الحفاظ على مقاومة التوزيع للقيم الشاذة، ولكنه يغير أيضاً من البنية التكرارية الأصلية للبيانات ويزيد من تكرار قيمة الوسيط بصورة غير طبيعية.
لذلك، تقتضي الأمانة العلمية والمنهجية في كتابة التقارير الإحصائية توثيق الإحصاءات الوصفية ومقارنتها عبر مرحلتين: مرحلة ما قبل التعويض (البيانات الخام الصالحة) ومرحلة ما بعد تطبيق تقنيات التعويض. يتيح هذا التوثيق المقارن تقييم مدى التحريف الذي أحدثته عملية المعالجة في معالم التوزيع الإحصائي الأصلي وضمان عدم تأثر النتائج النهائية سلباً بقرارات المعالجة البرمجية.
10. حساب الإحصاءات التوزيعية المتقدمة والعلاقات الارتباطية
10.1 حساب معامل الالتواء (Skewness) والتفرطح (Kurtosis)
تتجاوز المعالم المتقدمة للتوزيعات الإحصائية مقاييس النزعة المركزية والتشتت لتشمل مقاييس الشكل التوزيعي، والتي تحدد درجة انحراف التوزيع عن نموذج التوزيع الطبيعي المعياري. يُعد معامل الالتواء (Skewness) المقياس الأساسي لعدم التماثل حول المتوسط، ويُحسب في بانداس عبر التابع df.skew(). تشير القيمة الصفرية إلى تماثل كامل، بينما تعكس القيم الموجبة ذيلاً طويلاً نحو اليمين، وتعكس القيم السالبة ذيلاً يمتد نحو اليسار.
في المقابل، يقيس معامل التفرطح (Kurtosis) حدة قمة التوزيع وثقل ذيوله مقارنة بالتوزيع الطبيعي، ويُستخرج عبر التابع df.kurt() أو df.kurtosis(). تعتمد مكتبة بانداس افتراضياً صيغة “تفرطح فيشر الزائد” (Fisher’s Excess Kurtosis)؛ حيث يُطرح الرقم 3 من قيمة التفرطح الأصلية، لتكون قيمة التوزيع الطبيعي مساوية للصفر تماماً (Mesokurtic). تشير القيم الموجبة إلى توزيع مدبب ذي ذيول ثقيلة تزيد فيها احتمالية القيم الشاذة (Leptokurtic)، في حين تشير القيم السالبة إلى توزيع مفلطح ذي قمة عريضة وذيول خفيفة (Platykurtic).
تستند الأدبيات الإحصائية إلى قواعد توجيهية لتقييم اعتدالية البيانات؛ حيث يُعتبر التوزيع قريباً من التوزيع الطبيعي إذا وقع معاملا الالتواء والتفرطح ضمن النطاق المقبول بين -1 و +1 (أو بين -2 و +2 في بعض التطبيقات الأكثر مرونة). يوفر حساب هذه المؤشرات في بانداس حكماً رياضياً قاطعاً على مدى سلامة تطبيق النماذج الخطية التي تفترض الاعتدالية الصارمة للمتغيرات.
10.2 حساب مصفوفة الارتباط الخطي (Correlation Matrix)
يمثل استكشاف العلاقات والارتباطات البينية بين المتغيرات الرقمية ركيزة أساسية في التحليل الوصفي متعدد المتغيرات. يُنفذ ذلك في بانداس عبر التابع df.corr()، الذي يولد مصفوفة ارتباط مربعة ومتماثلة توضح قوة واتجاه العلاقات الاقترانية بين كافة أزواج الأعمدة الرقمية في إطار البيانات، وتتراوح قيمها المعيارية بين -1 (ارتباط عكسي تام) و +1 (ارتباط طردي تام).
يوفر التابع corr() مرونة منهجية فائقة من خلال المعامل method، الذي يتيح المفاضلة بين ثلاثة مقاييس ارتباطية رئيسية: معامل ارتباط بيرسون الافتراضي (method='pearson') المخصص لقياس العلاقات الخطية بين المتغيرات المتصلة ذات التوزيع الطبيعي، ومعامل ارتباط سبيرمان الترتيبي (method='spearman')، ومعامل كندال (method='kendall') المخصصين للمتغيرات الترتيبية أو البيانات التي لا تتبع توزيعاً طبيعياً وتحتوي على علاقات رتيبة غير خطية أو قيم شاذة.
يساعد التدقيق في مصفوفة الارتباط في الكشف المبكر عن مشكلة التداخل الخطي المتعدد (Multicollinearity) بين المتغيرات المستقلة (عندما تتجاوز قيم الارتباط 0.80 أو 0.90)، وهو ما يُعد أمراً بالغ الأهمية لضبط جودة النماذج الإحصائية وتجنب تضخيم الأخطاء المعيارية في نماذج الانحدار المتعدد اللاحقة.
10.3 حساب مصفوفة التغاير (Covariance Matrix)
يقيس التغاير الإحصائي (Covariance) الاتجاه المشترك لتغير متغيرين عشوائيين معاً، ويُحسب في بانداس عبر التابع df.cov() لتوليد مصفوفة التغاير الكاملة. تشير القيمة الموجبة للتغاير إلى أن زيادة أحد المتغيرين تترافق عموماً مع زيادة المتغير الآخر، بينما تشير القيمة السالبة إلى تحركهما في اتجاهين متعاكسين حول متوسطيهما الحسابيين.
يكمن الفارق المنهجي الجوهري بين التغاير والارتباط في أن التغاير مقياس غير معياري يرتبط ارتباطاً وثيقاً بوحدات القياس الأصلية للمتغيرات؛ حيث يمثل التباين الفردي لكل متغير عناصر القطر الرئيسي في المصفوفة، بينما تمثل الخلايا الجانبية حاصل ضرب وحدات المتغيرين المشتركين. يجعل هذا الارتباط بوحدات القياس من الصعب استخدام التغاير للمقارنة المباشرة لقوة العلاقة بين أزواج المتغيرات المختلفة ذات المقاييس المتباينة.
على الرغم من عدم معيارية مصفوفة التغاير، إلا أنها تمثل المدخل الرياضي الأساسي الذي لا غنى عنه في العديد من خوارزميات التحليل المتقدم متعدد المتغيرات؛ مثل تحليل المكونات الرئيسية (PCA)، والتحليل التمييزي، ونماذج تحسين المحافظ الاستثمارية المالية في نظرية ماركويتز، حيث تتطلب هذه التطبيقات الرياضية المصفوفات غير المعيارية للحفاظ على الأبعاد الحجمية الأصلية للبيانات.
11. تصدير وتنسيق الجداول الإحصائية الملخصة للتقارير العلمية
11.1 تنسيق مخرجات الجداول الإحصائية باستخدام Pandas Styler
تحتاج الجداول الإحصائية الموجهة للعرض العلمي والتنفيذي إلى تنسيق بصري يبرز الأنماط الرقمية ويسهل استيعاب النتائج دون إخلال بالدقة الحسابية. تتيح مكتبة بانداس واجهة تنسيق متقدمة عبر كائن df.style، والتي تسمح بتطبيق قواعد التنسيق الشرطي (Conditional Formatting)، وضبط الدقة العشرية، وإضافة علامات النسبة المئوية، وفواصل الآلاف بسلاسة ودون تعديل القيم الرقمية الفعلية المخزنة في الذاكرة.
يمكن للمحلل استخدام دوال التلوين الشرطي مثل style.background_gradient() لإنشاء خرائط حرارية (Heatmaps) داخل مصفوفات الارتباط وجداول الإحصاءات التلخيصية، مما يتيح التمييز البصري الفوري بين معاملات الارتباط القوية والضعيفة أو رصد التباينات العالية في التشتت عبر المجموعات. كما يمكن استخدام style.highlight_max() و style.highlight_min() لإبراز القيم القصوى والدنيا في كل عمود بشكل آلي ملفت للنظر.
تتميز الجداول المنسقة عبر Pandas Styler بقدرتها على التصدير المباشر كشفرات HTML غنية بتنسيقات CSS مضمنة، مما يجعلها مثالية للدمج المباشر داخل لوحات التحكم التفاعلية (Dashboards)، وتطبيقات الويب التحليلية، والتقارير الدورية المؤتمتة، مع الحفاظ على التناسق الجمالي والمظهري الاحترافي للمخرجات الإحصائية.
11.2 تصدير الجداول الإحصائية الملخصة إلى ملفات خارجية
عقب استخراج الإحصاءات الوصفية وضبط تنسيقاتها، تتطلب الخطوة المنهجية التالية حفظ وتصدير هذه النتائج إلى ملفات خارجية بتنسيقات معيارية تضمن سهولة مشاركتها وأرشفتها ودمجها في المنشورات والأوراق البحثية المحكمة. توفر بانداس منظومة متكاملة من توابع التصدير المصممة للتعامل مع مختلف البرمجيات المكتبية والأنظمة الإحصائية المتخصصة.
يتيح التابع to_excel() تصدير الجداول الملخصة إلى مصنفات Microsoft Excel مع إمكانية حفظ جداول متعددة في أوراق عمل منفصلة وتطبيق التنسيقات المخصصة، في حين يتيح التابع to_csv() حفظ النتائج بصيغة نصية قياسية ومضغوطة تضمن سهولة تبادلها وتوافقها مع لغات البرمجة والأنظمة الأخرى. تضمن هذه المرونة التوافق التام مع متطلبات فرق العمل متعددة التخصصات.
بالنسبة للباحثين والأكاديميين في المجالات العلمية الدقيقة، يُعد التابع to_latex() الأداة المثلى لتصدير الجداول الإحصائية المعقدة ذات الفهارس الهرمية مباشرة إلى شفرات نظام تصفيف النصوص الشهير LaTeX. ينتج عن هذا التصدير جداول منسقة بدقة وفق المعايير الطباعية للأوراق البحثية والمجلات العلمية العالمية، مما يوفر الجهد اليدوي المضني في إعادة كتابة وتنسيق الأرقام والجداول الإحصائية.
11.3 الربط البصري للإحصاءات الوصفية عبر المخططات البيانية
يتكامل التلخيص الإحصائي الرقمي تكاملاً وثيقاً مع التمثيل البصري للبيانات (Data Visualization)؛ إذ يؤدي الجمع بين الأرقام الدقيقة والرسوم التوضيحية إلى ترسيخ الفهم وكشف الأنماط الخفية التي قد تعجز الجداول الصماء عن إبرازها بشكل مباشر. توفر مكتبة بانداس تكاملاً أصيلاً مع مكتبتي Matplotlib و Seaborn لتوليد أشكال بيانية تعكس المؤشرات الوصفية المحسوبة بدقة متناهية.
تُمثل مخططات الصندوق (Boxplots) الأداة البصرية الأهم لتجسيد الإحصاءات الخمسية المحسوبة بواسطة describe()؛ حيث يُرسم الصندوق ليمثل المدى الربيعي (IQR) والوسيط، بينما تمتد العوارض (Whiskers) لتوضح نطاق التوزيع الطبيعي، وتظهر القيم المتطرفة كنقاط منفصلة خارج الحدود. كما تتيح المدرجات التكرارية (Histograms) ومنحنيات الكثافة الاحتمالية (KDE Plots) الربط البصري المباشر بين قيم المتوسط والانحراف ومعاملات الالتواء والتفرطح المحسوبة.
يضمن التوثيق المزدوج—الذي يجمع بين الجداول الإحصائية التلخيصية والرسوم البيانية المرافقة—أعلى مستويات الوضوح والمصداقية المنهجية في التقارير والبحوث؛ حيث تتيح الأرقام مراجعة الدقة والحسابات التفصيلية، بينما توفر الرسوم التوضيحية استيعاباً حدسياً سريعاً لسلوك المتغيرات، وفروق المجموعات، وطبيعة التوزيعات الإحصائية المدروسة.
12. أفضل الممارسات المنهجية والأخطاء الشائعة في تلخيص بيانات Pandas
12.1 الأخطاء الشائعة في تفسير واستخدام الإحصاءات الوصفية
يقع العديد من المحللين في فخاخ منهجية شائعة عند استخدام وتفسير مخرجات الإحصاء الوصفي في بانداس. يأتي في مقدمة هذه الأخطاء الاعتماد الحصري والمطلق على المتوسط الحسابي والانحراف المعياري في توصيف متغيرات تتسم بالالتواء الشديد أو تحتوي على قيم شاذة حادة، مما يؤدي إلى تقديم صورة مضللة بالكامل عن مركز وتشتت البيانات الحقيقي وتجاهل السلوك الفعلي لغالبية العينة.
من الأخطاء الفنية المتكررة أيضاً إغفال ضبط درجات الحرية (ddof) والخلط بين تباين العينة وتباين المجتمع الإحصائي الكلي، أو تجاهل التناقص غير الملحوظ في أحجام العينات الصالحة الناتج عن استبعاد القيم المفقودة تلقائياً بواسطة skipna=True. هذا التجاهل قد يؤدي إلى مقارنة مؤشرات إحصائية لمتغيرات استند حساب بعضها إلى آلاف المشاهدات بينما استند حساب بعضها الآخر إلى عشرات المشاهدات فقط نتيجة التباين الحاد في نسب الفقدان.
كذلك، يُعد تطبيق الدوال الحسابية المخصصة للمتغيرات الكمية على المتغيرات الفئوية والاسمية المرمزة رقمياً (مثل حساب المتوسط لعمود يرمز للمحافظات أو الجنس بأرقام 1 و 2) من الأخطاء المنهجية الفادحة. يؤدي هذا الخلط إلى توليد أرقام عديمة المعنى تفتقر لأي أساس رياضي منطقي، مما يبرز أهمية التحقق الصارم والدائم من مستويات القياس قبل البدء في حساب وتفسير المؤشرات الإحصائية.
12.2 تحسين الأداء الحسابي والذاكرة عند تلخيص البيانات الضخمة (Big Data)
عند التعامل مع أطر بيانات ضخمة تتجاوز ملايين السجلات وعشرات الجيجابايت من الذاكرة، يصبح تحسين الأداء الحسابي وإدارة الذاكرة ضرورة حتمية لضمان تنفيذ التحليلات الوصفية دون استنزاف موارد النظام أو توقف بيئة التشغيل. يتمثل الإجراء الأول والأكثر فعالية في هذا السياق في ترشيد أنواع البيانات (Downcasting Data Types)، كتحويل الأرقام العشرية من float64 إلى float32 والأرقام الصحيحة من int64 إلى int32 أو int16 وفق النطاق الفعلي للأرقام.
كما يُسهم تحويل الأعمدة النصية ذات الفئات المحدودة والمتكررة إلى نوع category في تقليص استهلاك الذاكرة بنسب قد تتجاوز 80% في كثير من الأحيان، فضلاً عن تسريع عمليات التجميع الإحصائي باستخدام groupby() بشكل ملحوظ. يجب أيضاً تجنب استخدام التكرارات اليدوية وحلقات for لتلخيص البيانات، والاعتماد الكامل على الدوال الموجهة الأصلية (Vectorized Methods) المدمجة داخل بانداس والمكتوبة بلغات منخفضة المستوى عالية الأداء.
في الحالات التي تتجاوز فيها البيانات الذاكرة العشوائية المتاحة للجهاز، يُوصى بالاعتماد على تقنيات أخذ العينات العشوائية الممثلة إحصائياً (Representative Statistical Sampling) عبر التابع df.sample() لإجراء الاستكشاف الأولي وحساب المؤشرات الوصفية التقريبية، أو استخدام تقنيات القراءة المجزأة للبيانات (Chunking) لمعالجة البيانات وتلخيصها على دفعات متتابعة بكفاءة واستقرار تام.
12.3 دليل إرشادي لاختيار المقياس الإحصائي الأمثل وفق طبيعة البيانات
لضمان الرصانة العلمية والمنهجية في كتابة التقارير الإحصائية، يتعين على المحلل الالتزام بمصفوفة قرار دقيقة تحدد المقياس الإحصائي الأمثل لكل متغير استناداً إلى مستوى القياس وطبيعة التوزيع التكراري للبيانات. يوضح الجدول المفاهيمي التالي القواعد المنهجية الأساسية للمفاضلة واختيار المؤشرات الإحصائية الأكثر ملاءمة:
- المتغيرات الاسمية (Nominal Variables): يُستخدم المنوال (Mode) والنسب المئوية ومصفوفات التكرارات البسيطة لتحديد النزعة المركزية والتوزيع، مع الامتناع التام عن حساب المتوسطات أو الانحرافات المعيارية.
- المتغيرات الترتيبية (Ordinal Variables): يُعد الوسيط (Median) والمدى الربيعي (IQR) والمئينات الإحصائية المقاييس المثلى لتوصيف التمركز والتشتت، مع إمكانية استخدام المنوال لفحص الأنماط الأكثر شيوعاً.
- المتغيرات الكمية ذات التوزيع الطبيعي المتماثل (Normal Continuous Variables): يُعتمد المتوسط الحسابي (Mean) كمقياس أساسي للنزعة المركزية مصحوباً بـ الانحراف المعياري (Standard Deviation) والتباين لقياس التشتت، ومعامل بيرسون لقياس الارتباط.
- المتغيرات الكمية الملتوية أو المحتوية على قيم شاذة (Skewed Continuous Variables): يُفضل استخدام الوسيط (Median) مقترناً بـ المدى الربيعي (IQR) لوصف التمركز والانتشار بمقاومة وموثوقية عالية، مع استخدام معامل سبيرمان لتقييم العلاقات الارتباطية.
يتعين في ختام مرحلة التحليل الوصفي إجراء مراجعة وتدقيق شامل للجداول والتقارير الإحصائية الناتجة للتحقق من الاتساق المنطقي بين الأرقام المحسوبة وطبيعة الظاهرة المدروسة، والتأكد من توثيق كافة المعاملات البرمجية والافتراضات المنهجية المعتمدة، لضمان أعلى معايير الشفافية والدقة العلمية في مخرجات التحليل الاستكشافي للبيانات.
خاتمة
تمثل مهارة حساب وتفسير الإحصاءات الوصفية باستخدام مكتبة بانداس إحدى أهم الركائز الأساسية التي لا غنى عنها لأي ممارس أو باحث في مجالات تحليل البيانات والتعلم الآلي والعلوم الكمية. فمن خلال توظيف الأدوات البرمجية القوية التي توفرها بانداس—بدءاً من التوابع التلخيصية السريعة مثل describe() و agg()، مروراً بتقنيات التجميع المتقدمة عبر groupby()، وصولاً إلى أدوات ضبط أنواع البيانات ومعالجة القيم المفقودة—يستطيع المحلل تحويل ملايين القيود الجدولية المعقدة إلى رؤى استكشافية واضحة وموثوقة تؤسس لاتخاذ قرارات علمية وعملية دقيقة.
إن الإتقان الحقيقي للتحليل الإحصائي في بيئة بايثون لا يقتصر على مجرد استدعاء الدوال البرمجية الجاهزة، بل يتطلب فهماً منهجياً عميقاً للأسس الرياضية الكامنة وراء كل مقياس، وإدراكاً واعياً لحدود وضوابط استخدامه، والقدرة على التمييز بين المقاييس المعلمية الحساسة والمقاييس اللامعلمية المقاومة للقيم الشاذة والتوزيعات الملتوية. يضمن هذا التكامل الرصين بين المعرفة الإحصائية النظرية والكفاءة البرمجية التطبيقية بناء تحليلات استكشافية متينة ونماذج تنبؤية مستقبلية تتسم بأعلى درجات الدقة والمصداقية العلمية.
References
- McKinney, W. (2022). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and Jupyter (3rd ed.). O’Reilly Media. https://wesmckinney.com/book/
- Pandas Development Team. (2024). Pandas Documentation: Descriptive Statistics and GroupBy Operations. PyData. https://pandas.pydata.org/docs/user_guide/groupby.html
- Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., … & Oliphant, T. E. (2020). Array programming with NumPy. Nature, 585(7825), 357–362. https://doi.org/10.1038/s41586-020-2649-2
- Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., … & SciPy 1.0 Contributors. (2020). SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods, 17(3), 261–272. https://doi.org/10.1038/s41592-019-0686-2
- Wickham, H. (2011). The Split-Apply-Combine Strategy for Data Analysis. Journal of Statistical Software, 40(1), 1–29. https://doi.org/10.18637/jss.v040.i01
- Tukey, J. W. (1977). Exploratory Data Analysis. Addison-Wesley Publishing Company.
- Field, A. (2018). Discovering Statistics Using IBM SPSS Statistics (5th ed.). SAGE Publications.
- VanderPlas, J. (2016). Python Data Science Handbook: Essential Tools for Working with Data. O’Reilly Media. https://jakevdp.github.io/PythonDataScienceHandbook/