بايثون للتحليل الإحصائيعلم البيانات

كيفية إنشاء مخطط صندوقي من إطار بيانات بانداس

دليل شامل وأكاديمي يشرح كيفية إنشاء المخططات الصندوقية (Boxplots) وتحليلها إحصائياً باستخدام مكتبة Pandas في لغة بايثون بالتفصيل والأمثلة التطبيقية.

تاريخ النشر

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

تكمن قوة إطار بيانات بانداس (Pandas DataFrame) في قدرته على دمج وظائف معالجة البيانات الضخمة مع أدوات التصور الإحصائي المضمنة، مما يتيح للمحلل الانتقال بسلاسة من مرحلة تنظيف البيانات وهيكلتها إلى مرحلة التحليل البصري المتقدم دون الحاجة إلى كتابة نصوص برمجية معقدة أو استدعاء حزم خارجية متعددة في المراحل الأولية. إن إنشاء مخطط صندوقي من إطار بيانات بانداس ليس مجرد خطوة برمجية عابرة، بل هو عملية استدلالية إحصائية متكاملة تهدف إلى فحص جودة البيانات، وتشخيص التواء التوزيعات، واكتشاف القيم الشاذة، ومقارنة الفئات المتباينة تحت شروط منهجية منضبطة.

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

1. مقدمة إلى المخطط الصندوقي (Boxplot) وأهميته الإحصائية

1.1 مفهوم المخطط الصندوقي ومكوناته الهيكلية

يعود الفضل في ابتكار مخطط الصندوق وطرفيه (Box-and-Whisker Plot) إلى عالم الإحصاء الأمريكي الشهير جون توكي (John Tukey) الذي قدمه في سبعينيات القرن العشرين كجزء أساسي من منهجيته الرائدة في التحليل الاستكشافي للبيانات (Exploratory Data Analysis). يعتمد المخطط الصندوقي على تمثيل بياني مكثف لما يُعرف في الإحصاء الوصفي بـ “ملخص الأرقام الخمسة” (Five-Number Summary)، وهي مقاييس موضعية توفر رؤية شاملة حول موقع البيانات وتشتتها دون التأثر المفرط بالقيم المتطرفة، مما يجعله من أقوى المقاييس اللابارامترية.

يتكون ملخص الأرقام الخمسة من: الحد الأدنى الإحصائي (Minimum)، والربع الأول أو المئين الخامس والعشرين (Q1)، والوسيط الحسابي أو المئين الخمسين (Q2 / Median)، والربع الثالث أو المئين الخامس والسبعين (Q3)، والحد الأقصى الإحصائي (Maximum). يمثل الصندوق المركزي المسافة بين الربع الأول والربع الثالث، وتسمى هذه المسافة بـ “المدى الربيعي” (Interquartile Range – IQR)، والتي تحسب رياضياً وفق المعادلة: IQR = Q3 – Q1. يحتوي هذا الصندوق في داخله على نسبة 50% من القيم المركزية للعينة، بينما يشير الخط الداخلي الذي يقسم الصندوق إلى قيمة الوسيط، مما يوضح مركز الثقل التوزيعي للبيانات.

تمتد من جانبي الصندوق خطوط مستقيمة تُعرف بالأطراف أو الشوارب (Whiskers)، وتصل هذه الأطراف تقليدياً إلى أبعد نقطة بيانات تقع ضمن الحدود المحسوبة لمعيار توكي، والتي تُحدد بمسافة 1.5 مضروبة في المدى الربيعي تحت الربع الأول (Q1 – 1.5*IQR) وفوق الربع الثالث (Q3 + 1.5*IQR). تتيح هذه الهيكلية للباحث تقييم التواء التوزيع (Skewness) بشكل فوري؛ فإذا كان خط الوسيط أقرب إلى الربع الأول وكان الطرف العلوي أطول من السفلي، دل ذلك على التواء موجب (Positive Skewness)، في حين يشير اقتراب الوسيط من الربع الثالث وطول الطرف السفلي إلى التواء سالب (Negative Skewness)، بينما يدل التناظر التام على توزيع متماثل يقترب من التوزيع الطبيعي.

1.2 المزايا الإحصائية لاستخدام المخطط الصندوقي مقارنة بالرسوم البيانية الأخرى

تتجلى المزايا الإحصائية للمخطط الصندوقي بوضوح عند مقارنته بالمدرج التكراري (Histogram) ورسوم الكثافة الاحتمالية. فعلى الرغم من أن المدرج التكراري يقدم تفصيلاً دقيقاً لترددات القيم وشكل التوزيع العام، إلا أنه يعاني من حساسية مفرطة تجاه تحديد عدد وحجم الفئات (Bin Size)، مما قد يؤدي إلى استنتاجات مضللة إذا لم يتم اختياره بعناية. في المقابل، يعتمد المخطط الصندوقي على رتب البيانات والمئينات الثابتة رياضياً، مما يوفر تلخيصاً موثوقاً وموحداً لا يتأثر باختيارات العرض التعسفية، ويتيح ضغط مجموعات البيانات المليونية في مساحة بصرية صغيرة للغاية دون فقدان المعالم الإحصائية الجوهرية.

تعتبر الكفاءة البصرية في الكشف عن القيم الشاذة (Outliers) من أبرز نقاط القوة في المخطط الصندوقي؛ إذ تُرسم أي نقطة تتجاوز حدود الأطراف (أكثر من 1.5 * IQR) كنقاط منفصلة ومستقلة، مما يمنع تشويه مقاييس النزعة المركزية مثل المتوسط الحسابي الذي يتأثر بشدة بالقيم المتطرفة. هذا الفصل البصري الصارم يمكن المحلل من تحديد الشواذ فوراً وإخضاعها للفحص النوعي لتحديد ما إذا كانت ناجمة عن أخطاء في القياس أو تمثل ظواهر استثنائية ذات دلالة علمية هامة.

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

1.3 أهمية تمثيل البيانات الاستكشافي (EDA) في لغة بايثون

يمثل التحليل الاستكشافي للبيانات (Exploratory Data Analysis – EDA) المرحلة التأسيسية الحرجة في أي مشروع علمي أو تطبيقي يعتمد على البيانات الكمية. وفي بيئة لغة بايثون، يخدم المخطط الصندوقي كأداة تشخيص أولية لا غنى عنها لفحص الفرضيات الإحصائية المسبقة قبل تطبيق النماذج التحليلية المتقدمة، مثل نماذج الانحدار الخطي، أو تحليل التباين (ANOVA)، أو خوارزميات التعلم الآلي التي تشترط تجانس التباين واعتدالية التوزيعات أو غياب القيم الشاذة المؤثرة.

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

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

2. تهيئة بيئة العمل وإعداد مكتبة Pandas

2.1 تثبيت المكتبات البرمجية وضبط بيئة بايثون

للبدء في بناء المخططات الصندوقية وتطبيق التحليلات الإحصائية المرافقة لها، يتعين التأكد من تهيئة بيئة العمل البرمجية وتثبيت المكتبات الأساسية المعتمدة في النظام البيئي للغة بايثون. تُعد مكتبة Pandas حجر الزاوية لهيكلة البيانات ومعالجتها، بينما تمثل مكتبة Matplotlib المحرك الرسومي الأساسي الذي تعتمد عليه بانداس في تصدير الرسوم البيانية. يمكن تثبيت هذه الحزم بسهولة باستخدام مدير الحزم القياسي pip أو من خلال بيئة conda المخصصة للحوسبة العلمية عبر الأوامر الطرفية المعتادة.

عند كتابة الشيفرات البرمجية، نتبع التقاليد القياسية المعمول بها في مجتمع بايثون العلمي لاستيراد الحزم، حيث يتم استيراد بانداس تحت الاسم المختصر pd ومكتبة الرسم الرياضي pyplot تحت الاسم المختصر plt. وفي حال العمل ضمن البيئات التفاعلية مثل دفاتر جوبيتر (Jupyter Notebooks) أو Google Colab، يُفضل تفعيل الأمر التفاعلي المضمن لضمان عرض الرسوم البيانية مباشرة أسفل الخلايا البرمجية وبأعلى دقة عرض ممكنة داخل واجهة المتصفح.

تضمن هذه التهيئة الدقيقة تفادي مشكلات التوافق بين إصدارات المكتبات، وتتيح للمحلل الاستفادة من أحدث الميزات البرمجية ودوال التحسين الرسومي التي توفرها الإصدارات الحديثة من مكتبتي Pandas وMatplotlib، مما يمهد الطريق لبناء رسوم بيانية ذات جودة عالية متوافقة مع متطلبات النشر الأكاديمي.

2.2 إنشاء وهيكلة إطار البيانات (DataFrame) النموذجي

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

يجب على المحلل فور إنشاء إطار البيانات التحقق من الأنواع البرمجية للأعمدة (Data Types) باستخدام الدوال المخصصة مثل dtypes للتأكد من أن الأعمدة العددية معرفة كأرقام عشرية أو صحيحة قابلة للعمليات الرياضية وليست نصوصاً. بعد ذلك، يتم استدعاء دالة الإحصاء الوصفي الشاملة describe للحصول على جدول تفصيلي يوضح المتوسطات، والانحرافات المعيارية، ونقاط الربيعات (Q1, Median, Q3) لكل عمود رقمي، مما يوفر خط أساس حسابي يمكن مقارنته لاحقاً بالمخرجات البصرية للرسم الصندوقي.

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

2.3 المعالجة المسبقة للمتغيرات قبل الرسم البياني

تعد المعالجة المسبقة للبيانات (Data Preprocessing) خطوة حاسمة لضمان سلامة التحليل البصري؛ إذ يمكن لوجود القيم المفقودة أو الفارغة (Null / NaN Values) أن يؤثر على حساب الرتب والربيعات الإحصائية. ورغم أن مكتبة بانداس تتعامل مع القيم المفقودة في دوال الرسم عبر استبعادها تلقائياً عند حساب المخطط الصندوقي، إلا أن الممارسة المنهجية الفضلى تقتضي فحص حجم هذه القيم ومعالجتها مسبقاً إما بالحذف الحذر أو بالتعويض الإحصائي المناسب (Imputation) لتفادي أي تحيز في تمثيل العينة.

تشمل المعالجة المسبقة أيضاً تحويل الأعمدة النصية التي تمثل فئات تصنيفية إلى النمط الفئوي الصريح (Categorical Data Type) في بانداس، مع إمكانية تحديد ترتيب منطقي للفئات (Ordered Categories) إذا كانت المتغيرات رتبية (Ordinal). يضمن هذا الإجراء ظهور الفئات على محاور الرسم البياني بترتيب منطقي ومنهجي يخدم أهداف المقارنة الإحصائية بدلاً من الترتيب الأبجدي الافتراضي الذي قد لا يعبر عن التدرج الحقيقي للمستويات التجريبية.

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

3. البنية الأساسية لدالة df.boxplot في Pandas

3.1 التشريح البرمجي ومعاملات الدالة DataFrame.boxplot

توفر مكتبة بانداس واجهة برمجية مباشرة وعالية الكفاءة لإنشاء المخططات الصندوقية من خلال الدالة المضمنة DataFrame.boxplot(). تتميز هذه الدالة بتكاملها المباشر مع هياكل بيانات بانداس وتعتمد على محرك Matplotlib لإنشاء الرسوم وتنسيقها. يستقبل هذا التابع مجموعة واسعة من المعاملات (Parameters) التي تمنح المحلل تحكماً دقيقاً في اختيار البيانات وتخصيص المظهر النهائي للرسم.

من أهم المعاملات البرمجية نجد المعامل column، والذي يتيح تحديد اسم عمود معين أو قائمة من الأعمدة الرقمية المراد رسمها، مما يوفر عزلاً سريعاً للمتغيرات المطلوبة دون تعديل إطار البيانات الأصلي. كما يبرز المعامل الفعال by، والذي يُستخدم لتجميع وتقسيم البيانات استناداً إلى عمود فئوي تصنيفي، مما يؤدي إلى توليد مخططات صندوقية مقارنة لكل فئة من فئات ذلك المتغير تلقائياً، وهو ما يمثل جوهر التحليل الإحصائي المقارن.

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

3.2 الفروق الجوهرية بين df.boxplot و df.plot.box

يلاحظ مبرمجو بايثون ومحللو البيانات وجود طريقتين أساسيتين لرسم المخطط الصندوقي في بانداس: الأولى عبر الدالة المتخصصة df.boxplot()، والثانية عبر الواجهة العامة df.plot.box() أو df.plot(kind='box'). وعلى الرغم من أن كلتا الطريقتين تؤديان إلى توليد مخططات صندوقية، إلا أن هناك فروقاً معمارية وتطبيقية جوهرية بينهما تؤثر على تجربة الاستخدام وسير العمل التحليلي.

تعتبر الدالة df.boxplot() واجهة إحصائية تقليدية صُممت لتسهيل التجميع الفئوي السريع، حيث تدعم المعامل by بشكل أصيل وتقوم تلقائياً بإنشاء رسوم فرعية مقسمة وعناوين مجمعة، بالإضافة إلى تفعيل خطوط الشبكة افتراضياً (grid=True). في المقابل، تتبع الدالة df.plot.box() الواجهة الموحدة لسلسلة دوال df.plot، وهي تتماشى بشكل أكبر مع الفلسفة الرسومية الحديثة لبانداس حيث تكون خطوط الشبكة معطلة افتراضياً، وتوفر تكاملاً أسهل عند الرغبة في دمج المخطط الصندوقي ضمن شبكة رسومية معقدة يتم التحكم فيها يدوياً بواسطة Matplotlib.

من حيث نوع الكائنات المرجعة، تقوم df.boxplot() بإرجاع مصفوفة من كائنات المحاور (Axes Subplots) أو قواميس تحتوي على عناصر الرسم الفردية، بينما تُرجع df.plot.box() كائن محور Matplotlib مفرد (أو مصفوفة محاور مباشرة). يُفضل استخدام df.boxplot() عند الرغبة في إجراء مقارنات سريعة بين الفئات باستخدام المعامل by، بينما يُفضل استخدام df.plot.box() عند الرغبة في بناء لوحات معلومات متعددة الرسوم تتطلب توحيداً صارماً في أسلوب الاستدعاء والتنسيق.

3.3 إدارة كائنات المحاور الرسومية (Axes Objects)

لتحقيق أعلى درجات التحكم والتخصيص الأكاديمي للرسوم البيانية في بانداس، يجب فهم كيفية التعامل مع كائنات المحاور (Axes Objects) التي ترجعها دوال الرسم. يمثل كائن المحور في Matplotlib مساحة الرسم الفعلية التي تحتوي على الصناديق والخطوط والعلامات، والتحكم البرمجي في هذا الكائن يسمح للمحلل بتعديل كل تفصيلة بصرية في المخطط بعد إنشائه.

عند استدعاء دالة الرسم، يمكن استقبال الكائن المرجع في متغير محدد، واستخدام الدوال البرمجية التابعة له لإضافة عناوين رئيسية واضحة ومقننة، وتسمية المحورين الأفقي والعمودي بدقة مع تحديد وحدات القياس المستخدمة. كما يتيح كائن المحور تعديل نطاقات الرؤية للمحاور (Axis Limits) من خلال دوال مثل set_ylim أو set_xlim، مما يمنع تشويه البيانات أو اقتطاع أطراف الصناديق والقيم الشاذة.

علاوة على ذلك، يمكن للمحلل التحكم في مقياس الرسم نفسه، مثل تحويل المحور العمودي إلى المقياس اللوغاريتمي (Logarithmic Scale) في حالات البيانات ذات المدى الديناميكي الهائل، أو إعادة ضبط مواقع وتسميات التدريجات (Ticks & Tick Labels)، مما يضمن إخراج الرسوم البيانية في قالب منظم وجاهز للنشر المباشر في المجلات العلمية والتقارير التنفيذية.

4. إنشاء مخطط صندوقي لعمود فردي (Single Column Boxplot)

4.1 التطبيق البرمجي للرسم الصندوقي الأحادي

يمثل رسم المخطط الصندوقي لعمود فردي الخطوة الأولى والأساسية في استكشاف المتغيرات الكمية المعزولة داخل إطار البيانات. يُنفذ هذا الإجراء برمجياً عن طريق تمرير اسم المتغير المستهدف إلى المعامل column في الدالة، مثل كتابة df.boxplot(column=['points']) لتحليل توزيع عمود النقاط أو الدرجات. يقوم هذا الأمر بحساب مقاييس النزعة المركزية والتشتت الخاصة بهذا المتغير ورسم صندوق منفرد يعكس بدقة ملخص الأرقام الخمسة للعينة.

عند استدعاء هذا الأمر، يُنصح دائماً بضبط المعامل grid=False إذا كان الهدف الحصول على مظهر بصري نظيف وخالٍ من الخطوط الخلفية التي قد تشوش على رؤية الوسيط أو النقاط الشاذة الدقيقة. تعكس المخرجات البصرية المتولدة فوراً موضع الربعين الأول والثالث كحافتين سفلى وعليا للصندوق، مما يمنح الباحث تقديراً مباشراً لمدى تجانس أو تشتت النصف الأوسط من مجتمع الدراسة.

يتيح هذا الرسم الأحادي للمحلل مطابقة القيم المرئية مع المخرجات الجدولية الناتجة عن دالة describe()؛ حيث يمكن التأكد بصرياً من مطابقة الخط الأوسط داخل الصندوق لقيمة الوسيط، ومطابقة حدود الصندوق لنقاط المئين 25% و75%، مما يرسخ الثقة في اتساق التمثيل البياني وسلامة البيانات المدخلة في النموذج التحليلي.

4.2 التفسير الإحصائي الدقيق للرسم الناتج

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

يعبر طول الأطراف (الشوارب) الممتدة من الصندوق عن مدى انتشار أو استطالة ذيول التوزيع الاحتمالي؛ فالطرف الطويل يشير إلى أن البيانات في ذلك الاتجاه تتلاشى ببطء عبر مدى قيمي واسع، مما يعزز فرضية وجود التواء في التوزيع. في المقابل، يدل قصر الأطراف على أن البيانات تتكتل بكثافة قرب المدى الربيعي وتهبط تردداتها بسرعة نحو الصفر.

كما يقدم الفحص البصري للمساحة الواقعة خارج حدود الأطراف معلومات حاسمة حول نقاء العينة من القيم الشاذة. فالنقاط المعزولة التي تظهر وراء الأطراف تمثل ملاحظات تستدعي التوقف الإحصائي والتحقق من السياق التجريبي الذي نشأت فيه، حيث يمكن استنتاج ما إذا كان المتغير يتبع توزيعاً طبيعياً معتدلاً أم توزيعاً ثقيل الذيول (Heavy-Tailed Distribution) يتطلب استخدام أساليب إحصائية متينة ومقاومة للشواذ.

4.3 خيارات العرض الرأسي والأفقي لعمود فردي

يوفر إطار بيانات بانداس مرونة كاملة في تحديد الاتجاه الفضائي للمخطط الصندوقي من خلال المعامل المنطقي vert. افتراضياً، يتم ضبط هذا المعامل على القيمة True مما يؤدي إلى رسم الصندوق بشكل رأسي يمتد فيه المقياس الكمي على المحور الصادي (Y-axis)، وهو النمط الأكثر شيوعاً واستخداماً في الأدبيات الإحصائية والتقارير القياسية.

ومع ذلك، تبرز الحاجة المنهجية والجمالية لاستخدام العرض الأفقي للمخطط الصندوقي عبر ضبط المعامل vert=False في العديد من السياقات التحليلية. يتميز العرض الأفقي بوضع المقياس العددي الكمي على المحور السيني (X-axis)، وهو ما يعد ممتازاً للغاية عند وجود تسميات نصية طويلة للمتغيرات أو الفئات، حيث يمكن قراءة التسميات أفقياً دون الحاجة إلى تدويرها أو تقليص حجم الخط، مما يرفع من مقروئية الرسم في التقارير المطبوعة وعلى شاشات العرض الرقمية.

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

5. إنشاء مخطط صندوقي لأعمدة متعددة (Multiple Columns Boxplot)

5.1 تمرير مصفوفة من الأعمدة للمقارنة المتزامنة

تزداد قوة التحليل الاستكشافي للبيانات عند الانتقال من فحص المتغيرات المعزولة إلى المقارنة المتزامنة بين عدة متغيرات كمية تنتمي إلى نفس إطار البيانات. تتيح دالة df.boxplot() تحقيق ذلك بسهولة فائقة عن طريق تمرير قائمة تحتوي على أسماء الأعمدة المستهدفة إلى المعامل column، كأن نمرر مصفوفة تتضمن متغيرات متعددة مثل column=['points', 'assists', 'rebounds'].

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

ومع ذلك، يجب الانتباه من الناحية المنهجية إلى أن المقارنة المتجاورة على نفس المحور الرأسي تكون ذات معنى دلالي سليم فقط إذا كانت المتغيرات مقاسة بنفس وحدة القياس وتقع ضمن نطاقات عددية متقاربة، أما إذا تباينت وحدات القياس أو اتسعت الفجوة الحسابية بين المتغيرات، فإن الرسم المباشر قد يؤدي إلى ضغط الصناديق ذات القيم الصغيرة وطمس معالمها الإحصائية بالكامل.

5.2 تقييس البيانات ومقارنة المتغيرات ذات المقاييس المختلفة

عند الرغبة في مقارنة متغيرات كمية متعددة تختلف في وحدات قياسها الفيزيائية أو تتفاوت نطاقاتها العددية تفاوتاً شاسعاً (مثل مقارنة الدخل السنوي بالآلاف مع سنوات الخبرة كأرقام أحادية)، يصبح إجراء تقييس البيانات (Data Standardization / Normalization) خطوة تحويلية إلزامية تسبق استدعاء دالة الرسم الصندوقي.

تتمثل إحدى الطرق الإحصائية الأكثر شيوعاً في تحويل القيم إلى درجات معيارية تسمى بالدرجة المعيارية أو Z-Score، والتي تحسب بطرح المتوسط الحسابي للعمود من كل قيمة وقسمة الناتج على الانحراف المعياري، مما يجعل متوسط كل متغير مساوياً للصفر وانحرافه المعياري مساوياً للواحد الصحيح. كما يمكن استخدام تقنية التقييس بالحدين الأدنى والأقصى (Min-Max Scaling) لضغط جميع المتغيرات داخل مجال مغلق يتراوح بين الصفر والواحد.

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

5.3 إدارة تسميات الأعمدة وتنظيم العرض المرئي

عند رسم عدد كبير من الأعمدة في مخطط صندوقي متعدد، يواجه المحلل تحدياً بصرياً شائعاً يتمثل في تداخل النصوص الخاصة بتسميات الأعمدة على المحور السيني، مما يقلل من جودة العرض ويصعب قراءة النتائج. لمعالجة هذه المشكلة، توفر بانداس وواجهة Matplotlib آليات برمجية مرنة لتدوير تسميات المحاور (Tick Labels Rotation) عبر تمرير المعامل rot مباشرة داخل دالة boxplot، مثل ضبط rot=45 أو rot=90 لتدوير النصوص بزاوية تجعلها مقروءة بوضوح دون تداخل.

كما يمكن تعزيز وضوح العرض المرئي من خلال تعديل حجم الخطوط (Font Size) والمسافات الفاصلة بين الصناديق، وضبط المعامل figsize=(width, height) لزيادة العرض الكلي للوحة بما يتناسب مع عدد الأعمدة المدرجة في الرسم. يضمن هذا التوسيع الفضائي عدم انضغاط الصناديق والحفاظ على تناسب هندسي مريح للعين يبرز تفاصيل الوسيط والمدى الربيعي لكل عمود.

وعند إعداد الرسوم للأوراق العلمية والمجلات المحكمة، ينبغي استخدام دوال الحفظ عالية الدقة مثل plt.savefig('figure.png', dpi=300, bbox_inches='tight')، حيث يضمن المعامل dpi=300 كثافة نقطية ممتازة للطباعة، بينما يتكفل المعامل bbox_inches='tight' بمنع اقتطاع التسميات المدورة أو حواف الصناديق الخارجية، مما ينتج شكلاً بيئياً متكاملاً واحترافياً.

6. إنشاء مخططات صندوقية مجمعة حسب المتغيرات الفئوية (by parameter)

6.1 التحليل المقارن بين المجموعات باستخدام المعامل by

يعد التحليل المقارن بين المجموعات المستقلة حجر الزاوية في الدراسات التجريبية والارتباطية. توفر دالة df.boxplot() في بانداس حلاً برمجياً فائق القوة لتنفيذ هذه المقارنات من خلال المعامل by. عند كتابة الشيفرة البرمجية في صيغة مثل df.boxplot(column=['points'], by='conference')، تقوم بانداس تلقائياً بتقسيم عمود النقاط إلى مجموعات فرعية بناءً على الفئات الفريدة الموجودة في عمود التصنيف، وتولد رسماً صندوقياً مستقلاً لكل فئة جنباً إلى جنب على محور واحد.

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

تجدر الإشارة إلى أن بانداس تقوم تلقائياً عند استخدام المعامل by بإنشاء عنوان علوي فرعي يوضح المتغير المستخدم في التقسيم (مثل “Boxplot grouped by conference”). وفي حال الرغبة في إعداد الرسم للنشر الأكاديمي، يمكن إزالة هذا العنوان التلقائي المزعج أو استبداله بعنوان رئيسي موحد ومقنن عبر استدعاء دوال ضبط العناوين مثل plt.title('') و plt.suptitle('العنوان الأكاديمي الموحد') لتهيئة المخطط وفق متطلبات التنسيق الصارمة.

6.2 التقسيم المتقدم باستخدام متغيرات فئوية متعددة

لا يقتصر التحليل الاستكشافي في بانداس على التجميع الفئوي البسيط لمتغير تصنيفي واحد، بل يمتد ليدعم التصميمات العاملية المعقدة متعددة المستويات. يمكن للمحلل تمرير قائمة تحتوي على متغيرين فئويين أو أكثر إلى المعامل by، مثل كتابة by=['gender', 'treatment_group']، مما يدفع بانداس إلى إنشاء مجموعات تقاطعية تمثل كل توليفة ممكنة من المستويات الفئوية المدرجة.

ينتج عن هذا التقسيم المتقدم مصفوفة أو شبكة من المخططات الصندوقية الفرعية (Subplots Grid)، والتي تسمح بفحص التفاعلات غير الخطية بين المتغيرات المستقلة وتأثيرها المشترك على المتغير التابع. على سبيل المثال، يمكن مراقبة ما إذا كان تأثير برنامج علاجي معين يختلف باختلاف الجنس من خلال مقارنة الصناديق المتجاورة لكل توليفة تصنيفية داخل نفس اللوحة البصرية.

لضمان سهولة المقارنة وقابلية القراءة عبر هذه الشبكة من الرسوم الفرعية، توفر بانداس إمكانية ضبط المعاملات الخاصة بمحاور الرسوم مثل توحيد المقاييس الرأسية والأفقية (sharex=True و sharey=True). يضمن هذا التوحيد للمحاور أن الاختلافات البصرية في ارتفاعات الصناديق ومواقع الوسائط تعكس فروقاً كمية حقيقية وليست ناجمة عن تغير تلقائي في مقياس رسم كل نافذة فرعية على حدة.

6.3 الاستدلال الإحصائي المعتمد على المجموعات المصنفة

تلعب المخططات الصندوقية المجمعة دوراً حاسماً في تهيئة البيانات للتحليلات الإحصائية الاستدلالية المتقدمة، وخاصة اختبار تحليل التباين الأحادي والثنائي (ANOVA). من الشروط المنهجية الأساسية لتطبيق اختبار ANOVA هو شرط “تجانس التباين” (Homogeneity of Variance أو Homoscedasticity)، والذي يفترض أن التباينات داخل المجموعات المختلفة متساوية تقريباً وليست متباينة بشكل متطرف.

يتيح الفحص البصري للصناديق المقارنة تقييم مدى تحقق هذا الفرض بدقة بديهية؛ فإذا كانت أطوال الصناديق (المدى الربيعي IQR) متقاربة بشكل عام عبر جميع المجموعات، كان ذلك مؤشراً بصرياً قوياً على استقرار التباين وتجانسه، مما يعزز الثقة في صلاحية البيانات لتطبيق الاختبارات المعلمية. أما إذا ظهرت صناديق متناهية الصغر بجانب صناديق هائلة الحجم ومتسعة الأطراف، دل ذلك على انتهاك صارخ لتجانس التباين، مما يوجه الباحث نحو تطبيق اختبارات بديلة مثل اختبار ويلش (Welch’s ANOVA) أو اختبار كروسكال واليس اللابارامتري (Kruskal-Wallis).

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

7. تخصيص المظهر الجمالي للمخطط الصندوقي في Pandas

7.1 تنسيق الألوان وعناصر الرسم الصندوقي

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

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

وفي سياق النشر العلمي في الدوريات التي تشترط الطباعة أحادية اللون أو التدرج الرمادي (Grayscale)، يمكن ضبط لوحة الألوان لتعتمد على درجات الأسود والرمادي والداكن، مع تعديل سماكة الخطوط (Line Width) وأنماطها (كاستخدام الخطوط المتقطعة أو المتصلة) لضمان وضوح الحدود والفواصل الهيكلية للمخطط دون الاعتماد الحصري على تمايز الألوان الملونة.

7.2 إضافة وتخصيص العلامات الإحصائية الإضافية

يوفر إطار بانداس خيارات إحصائية متقدمة لإثراء المخطط الصندوقي بمزيد من المعالم التحليلية، ومن أبرزها إمكانية عرض المتوسط الحسابي (Mean) جنباً إلى جنب مع الوسيط. يتم ذلك عبر تفعيل المعامل showmeans=True، مما يؤدي إلى رسم علامة نقطية مميزة داخل الصندوق تمثل القيمة الحسابية للمتوسط.

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

ومن الميزات الإحصائية المتقدمة أيضاً خاصية “الحز الصندوقي” (Notched Boxplot) والتي تُفعل بضبط المعامل notch=True. يُنشئ هذا الخيار تضيقاً أو حزاً في جانبي الصندوق حول موضع الوسيط، ويمثل هذا الحز فترة ثقة تقريبية (بنسبة 95% عادة) حول الوسيط الحسابي. تتيح هذه الخاصية مقارنة بصرية سريعة للاستدلال الإحصائي؛ فإذا لم تتداخل الحزوز بين صندوقين مختلفين، دل ذلك على وجود فرق ذي دلالة إحصائية معنوية بين وسيطي المجموعتين عند مستوى ثقة 95%، مما يغني في كثير من الأحيان عن الحسابات اليدوية المعقدة في المراحل الاستكشافية.

7.3 ضبط التخطيط وتنسيق الرسوم البيانية المتعددة

عند بناء مخططات صندوقية مركبة أو شبكات رسومية متجاورة، تصبح إدارة الفراغات والتخطيط العام (Layout Management) أمراً حيوياً لضمان المظهر المتناسق وتفادي تداخل النصوص. تُعد دالة plt.tight_layout() الأداة القياسية في بيئة بايثون لضبط الهوامش تلقائياً، حيث تقوم بإعادة حساب الفراغات الفاصلة بين الرسوم الفرعية وتسميات المحاور والعناوين الرئيسية، مما يمنع قص الكلمات أو تراكب التسميات فوق بعضها البعض.

كما يمكن للمحلل التحكم اليدوي في أبعاد اللوحة الكلية من خلال المعامل figsize=(w, h) داخل دالة الرسم، والذي يحدد العرض والارتفاع بنسب هندسية مدروسة تمنع تشويه شكل الصناديق. يُنصح بتوسيع العرض الأفقي عند مقارنة العديد من الفئات، في حين يُفضل زيادة الارتفاع الرأسي عند استخدام التنسيق الأفقي (vert=False) لضمان توزيع المسافات الرأسية بالتساوي بين الفئات المتعددة.

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

8. التعامل مع القيم الشاذة والمتطرفة (Outliers) وتحليلها

8.1 الأساس الرياضي للكشف عن القيم الشاذة في Pandas

تعتمد مكتبة بانداس في اكتشاف وتحديد القيم الشاذة على المعيار الرياضي الصارم الذي وضعه جون توكي والمعروف باسم “سياج توكي” (Tukey’s Fences). يستند هذا المعيار إلى المدى الربيعي (IQR = Q3 – Q1)، ويحدد سياجين أو عتبتين حسابيتين تفصلان بين البيانات الاعتيادية والقيم الشاذة المحتملة كما يلي:

  • السياج الداخلي السفلي: Q1 – (1.5 × IQR)
  • السياج الداخلي العلوي: Q3 + (1.5 × IQR)
  • السياج الخارجي السفلي: Q1 – (3.0 × IQR)
  • السياج الخارجي العلوي: Q3 + (3.0 × IQR)

تُصنف أي نقطة بيانات تقع بين السياجين الداخلي والخارجي على أنها “قيمة شاذة معتدلة” (Mild Outlier)، بينما تصنف القيم التي تتجاوز السياج الخارجي (أبعد من 3 أضعاف المدى الربيعي) على أنها “قيمة متطرفة حادة” (Extreme Outlier). تقوم دالة df.boxplot() برسم حدود الأطراف عند أبعد نقطة بيانات طبيعية تقع داخل السياج الداخلي، في حين تُرسم جميع النقاط التي تقع خارج هذا النطاق كنقاط منفصلة تسمى المتطايرات (Fliers).

يمكن للمحلل تخصيص المظهر البصري لنقاط القيم الشاذة بالكامل عبر تمرير قاموس التنسيق flierprops إلى دالة الرسم. يتيح هذا القاموس تحديد شكل العلامة (Marker Shape مثل الدوائر، المثلثات، أو علامات الإكس)، وحجم النقطة ولونها، وشفافيتها اللونية (Alpha)، مما يساعد في إبراز هذه القيم بلون تحذيري ساطع (كاللون الأحمر) أو تخفيف ظهورها لتفادي تشتيت الانتباه البصري عند الرغبة في التركيز على الصندوق المركزي فقط.

8.2 خيارات إخفاء القيم الشاذة أو التعامل معها برمجياً

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

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

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

8.3 الاعتبارات المنهجية لمعالجة الشواذ في البحوث الكمية

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

تقتضي المعايير المنهجية الصارمة تصنيف القيم الشاذة وفق مسبباتها أولاً؛ فإذا ثبت بالدليل القاطع أن القيمة الشاذة ناجمة عن خطأ مطبعي في إدخال البيانات، أو عطل تقني في أجهزة القياس المخبرية، أو عدم التزام المشارك بتعليمات التجربة، جاز حينئذٍ تصحيحها إن أمكن أو حذفها وتوثيق ذلك بوضوح. أما إذا كانت القيمة تمثل استجابة حقيقية وصحيحة لشخص أو وحدة تجريبية واقعية ضمن مجتمع الدراسة، فإن الحذف يصبح غير مبرر، وتكون الممارسة الفضلى هي الإبقاء عليها واستخدام أساليب إحصائية متينة لا تتأثر بالشواذ (Robust Statistics).

يجب على الباحث في جميع الأحوال توثيق قرارات التعامل مع القيم الشاذة بدقة وشفافية في منهجية البحث؛ مع بيان عدد الحالات المستبعدة ومعايير الاستبعاد المستخدمة، وإجراء تحليل الحساسية (Sensitivity Analysis) عبر إعادة التحليل مع وجود الشواذ وبدونها للتحقق مما إذا كانت الاستنتاجات العلمية الأساسية تتغير جذرياً بتغير طريقة معالجة هذه القيم، مما يضمن أعلى درجات النزاهة العلمية وقابلية التكرار للنتائج المنشورة.

9. التكامل بين Pandas ومكتبات التصور البياني المتقدمة (Matplotlib و Seaborn)

9.1 التحكم العميق عبر واجهة Matplotlib

على الرغم من البساطة والسرعة التي توفرها دوال الرسم المباشرة في بانداس، إلا أن المشروعات التحليلية المتقدمة تتطلب غالباً درجة أعلى من التحكم الدقيق في بنية ومظهر الرسوم البيانية. يتم تحقيق هذا المستوى الرفيع من التخصيص من خلال دمج دالة df.boxplot() مع البنية الكائنية لمكتبة Matplotlib عبر إنشاء كائنات الأشكال والمحاور يدوياً باستخدام دالة plt.subplots() ثم تمرير كائن المحور مباشرة إلى دالة بانداس عبر المعامل ax.

يتيح هذا التكامل الهجين للمحلل الوصول إلى أدوات التنسيق العميقة في Matplotlib، مثل إضافة خطوط مرجعية أفقية أو عمودية (Reference Lines) باستخدام ax.axhline() لتحديد مستويات العتبات المعيارية أو المتوسطات التاريخية ومقارنتها بمواقع الصناديق. كما يمكن إضافة خطوط شبكية مخصصة فقط لمحور معين أو تعديل أسلوب تظليل الخلفية لإبراز نطاقات أداء مستهدفة.

بالإضافة إلى ذلك، يسمح كائن المحور بإضافة نصوص وشروح توضيحية متقدمة (Annotations) تشير بأسهم موجهة نحو قيم شاذة معينة أو تفسر دلالة وسيط فئة محددة داخل مساحة الرسم مباشرة باستخدام ax.annotate(). يرفع هذا التوليف الماهر بين سهولة استخراج البيانات من بانداس ومرونة التنسيق في Matplotlib من القيمة التواصلية والجمالية للمخطط الصندوقي إلى المستويات المطلوبة في التقارير الموجهة لصناع القرار.

9.2 الترقية إلى رسوم Seaborn الصندوقية المتقدمة

تمثل مكتبة Seaborn ترقية نوعية للتصور الإحصائي في لغة بايثون، حيث بنيت فوق محرك Matplotlib لتوفر أنماط تنسيق افتراضية حديثة وجذابة للغاية، وتتكامل بسلاسة مطلقة مع إطارات بيانات بانداس. توفر الدالة sns.boxplot() بديلاً بالغ الأناقة لدوال بانداس الأصلية، مع واجهة استدعاء تعتمد على تحديد أسماء الأعمدة كمعاملات للمحورين السيني والصادي (x و y) وتمرير إطار البيانات عبر المعامل data.

تتجلى الميزة الفائقة لمكتبة Seaborn في قدرتها السلسة على إضافة بُعد تصنيفي ثانوي للمخطط الصندوقي عبر المعامل hue. يتيح هذا المعامل تقسيم كل صندوق رئيسي على المحور السيني إلى صناديق فرعية ملونة تمثل مستويات متغير فئوي آخر، مما يسهل مقارنة التفاعلات الثنائية المعقدة (مثل مقارنة درجات الأداء عبر الأقسام المختلفة مع تقسيم كل قسم حسب جنس الموظف) دون الحاجة إلى إنشاء شبكة رسوم فرعية منفصلة.

علاوة على ذلك، توفر Seaborn إمكانية دمج المخطط الصندوقي في طبقات بصرية متراكبة مع مخططات التشتت النقطي مثل sns.stripplot() أو sns.swarmplot(). يتيح هذا الدمج رسم الصندوق الإحصائي كخلفية هيكلية، مع إسقاط نقاط البيانات الفردية الفعلية كنقاط مبعثرة فوق الصندوق، مما يمنح القارئ رؤية مزدوجة تجمع بين التلخيص الإحصائي لمقاييس الربيعات والوسيط، وبين الرؤية الواقعية المباشرة لكثافة وتوزيع النقاط الحقيقية داخل العينة.

9.3 مقارنة شاملة بين قدرات الرسم المباشر في Pandas والمكتبات المتخصصة

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

تتميز دالة df.boxplot() المباشرة في Pandas بأعلى سرعة كتابة وأقل استهلاك للأوامر البرمجية، مما يجعلها الخيار المثالي والمفضل في المراحل الأولى للتحليل الاستكشافي السريع؛ حيث يحتاج المحلل إلى إلقاء نظرة خاطفة على التوزيعات وفحص الشواذ أثناء تدفق العمل دون الانشغال بالتفاصيل الجمالية. كما تظهر كفاءة ممتازة في استهلاك الذاكرة وسرعة المعالجة مع إطارات البيانات الكبيرة والمتوسطة بفضل ارتباطها المباشر بهياكل بانداس المكتوبة بلغة C المنخفضة.

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

10. التطبيقات العملية والتحليل الإحصائي للبيانات عبر المخططات الصندوقية

10.1 تطبيق عملي: تحليل درجات المقاييس النفسية والسلوكية

تعتبر المخططات الصندوقية أداة قياسية في البحوث النفسية والعلوم السلوكية، حيث تتناول المتغيرات غالباً درجات مستخلصة من استبانات ومقاييس مقننة مثل مقياس بيك للاكتئاب (BDI) أو مقاييس القلق والضغط النفسي. يتيح إنشاء مخطط صندوقي مقارن لمجموعتين تجريبية وضابطة عبر إطار بيانات بانداس تقييماً بصرياً مباشراً لفعالية التدخل النفسي أو السلوكي قيد الدراسة.

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

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

10.2 تطبيق عملي: تقييم أداء فرق العمل في بيئات تجريبية

في مجالات العلوم الإدارية وهندسة البرمجيات والبحوث المؤسسية، يُستخدم المخطط الصندوقي لتقييم مؤشرات الأداء الرئيسية (KPIs) ومقارنة إنتاجية فرق العمل العاملة في بيئات تجريبية متباينة، مثل مقارنة العمل الحضوري التقليدي بالعمل عن بعد أو العمل الهجين. يتم تفريغ هذه القياسات في إطار بيانات بانداس يحتوي على ساعات الإنجاز، وعدد المهام المكتملة، ومعدلات الأخطاء لكل موظف.

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

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

10.3 تطبيق عملي: تحليل زمن الاستجابة في القياس النفسي العصبي

يتميز متغير “زمن الاستجابة” (Reaction Time – RT) المقاس بالميلي ثانية في تجارب القياس النفسي العصبي والإدراك المعرفي بتوزيعه الرياضي الخاص؛ حيث يظهر دوماً التواءً موجباً حاداً (Right-Skewed Distribution) نظراً لوجود حد أدنى فسيولوجي لسرعة الاستجابة البشرية لا يمكن تجاوزه، مع وجود ذيل طويل جداً من الاستجابات البطيئة الناتجة عن تشتت الانتباه اللحظي لدى المشاركين.

عند رسم أزمنة الاستجابة الخام في مخطط صندوقي، يظهر الصندوق مضغوطاً في الأسفل مع وجود طرف علوي بالغ الطول وعدد هائل من القيم الشاذة المتطايرة نحو الأعلى. يوجه هذا المشهد البصري المحلل فوراً نحو ضرورة تطبيق التحويل اللوغاريتمي (Log Transformation) على عمود زمن الاستجابة في بانداس قبل المتابعة في التحليل.

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

11. الأخطاء الشائعة واستكشاف المشكلات وإصلاحها (Troubleshooting)

11.1 أخطاء أنواع البيانات ومشاكل التحويل

من أكثر الأخطاء البرمجية شيوعاً وإحباطاً عند محاولة إنشاء مخطط صندوقي في بانداس هو ظهور الخطأ النوعي TypeError: no numeric data to plot أو EmptyDataFrameError. ينشأ هذا الخطأ عادة عندما تكون الأعمدة التي يعتقد المحلل أنها أرقام مخزنة في الحقيقة ككائنات نصية (Object / String Data Types)، وهو ما يحدث بكثرة عند استيراد البيانات من ملفات CSV تحتوي على رموز خاصة أو نصوص مفقودة مكتوبة مثل ‘None’ أو ‘N/A’.

لعلاج هذه المشكلة الجذرية، يجب استخدام الدالة البرمجية المدمجة في بانداس pd.to_numeric() مع تمرير المعامل errors='coerce'. يقوم هذا الأمر بتحويل القيم الصالحة إلى أرقام عشرية أو صحيحة، مع إجبار أي نصوص أو رموز غير صالحة على التحول إلى قيم فارغة (NaN)، والتي يمكن بعدها تنظيفها أو ترك دالة الرسم تتعامل معها بسلاسة:

كما يجب الانتباه إلى المشكلات الناتجة عن تعامل بانداس التلقائي مع الأعمدة التي تحتوي على قيم خالية كأرقام عشرية (float) حتى لو كانت في الأصل أعداداً صحيحة (integers)، مما قد يؤثر على طريقة عرض التدريجات على المحاور إذا لم يتم ضبط أنواع البيانات صراحة بعد التنظيف.

11.2 مشاكل التخطيط وتداخل العناوين والرسوم الفرعية

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

لحل مشكلة تداخل العناوين الناتجة عن المعامل by، يجب استدعاء الدالة plt.suptitle('') لإلغاء العنوان الأوتوماتيكي العلوي، ثم استخدام plt.title('العنوان المخصص') لضبط العنوان بدقة. كما ينبغي دائماً استدعاء دالة plt.tight_layout() قبل حفظ الصورة أو عرضها لضبط المسافات بين اللوحات الفرعية تلقائياً.

وعند مواجهة مشكلة اقتطاع النصوص والتسميات الطويلة عند تصدير الرسم إلى ملف صورة، يتمثل الحل الحاسم في تمرير المعامل bbox_inches='tight' داخل دالة الحفظ plt.savefig()، حيث يجبر هذا المعامل محرك Matplotlib على حساب المساحة الكلية لجميع العناصر الرسومية بما فيها النصوص الخارجية وضبط حدود الصورة لتشملها بالكامل دون أي اقتطاع.

11.3 القيود المنهجية للمخطط الصندوقي وكيفية تفادي التضليل

على الرغم من القوة الإحصائية الكبيرة للمخطط الصندوقي، إلا أنه يعاني من قيود منهجية جوهرية يجب أن يكون المحلل على دراية كاملة بها لتجنب التفسيرات المضللة للبيانات. يكمن القيد الأبرز في عدم قدرة المخطط الصندوقي على إظهار وتوضيح “التوزيعات متعددة القمم” (Multimodal / Bimodal Distributions)؛ حيث يمكن لتوزيع يحتوي على قمتين منفصلتين أن ينتج نفس الصندوق تماماً ونفس ملخص الأرقام الخمسة لتوزيع منتظم أو توزيع وحيد القمة.

لتفادي هذا التضليل البصري عند الشك في وجود تعدد للقمم داخل البيانات، يُنصح بشدة باستخدام “مخطط الكمان” (Violin Plot) أو مخططات الكثافة كأداة مكملة للمخطط الصندوقي؛ إذ يدمج مخطط الكمان الصندوق الداخلي مع منحنى كثافة احتمالية يوضح تقعرات وتحدبات التوزيع بدقة تفصيلية تكشف القمم المتعددة فوراً.

كما يجب الحذر من الاعتماد الحصري على المخطط الصندوقي عند التعامل مع العينات بالغة الصغر (أقل من 10 إلى 20 مشاهدة)؛ إذ إن حساب الربيعات والمئينيات على عينات صغيرة يفقد دقته الإحصائية ويصبح شديد التقلب. في مثل هذه الحالات، يجب دائماً إسقاط نقاط البيانات الفردية الفعلية (Strip Plot) فوق المخطط الصندوقي لبيان الحجم الحقيقي للعينة وتفادي إعطاء انطباع زائف بالثقة الإحصائية لبيانات شحيحة.

12. مقارنة أداء دالة boxplot مع تقنيات التصور الإحصائي البديلة

12.1 المخطط الصندوقي مقابل مخطط الكمان (Violin Plot)

يمثل مخطط الكمان (Violin Plot) التطور الأكثر جاذبية للمخطط الصندوقي التقليدي، حيث يجمع بين ملخص الأرقام الخمسة المضمن في الصندوق الداخلي ومنحنى تقدير كثافة النواة (Kernel Density Estimation – KDE) المتناظر على الجانبين. يتيح هذا الدمج إظهار الشكل الحقيقي لتوزيع البيانات وكثافتها عند كل نقطة سعرية أو عددية بدقة تفوق المخطط الصندوقي الصامت.

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

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

12.2 المخطط الصندوقي مقابل المدرجات التكرارية ورسوم الكثافة

يوفر المدرج التكراري (Histogram) ورسوم الكثافة الاحتمالية تفصيلاً مجهرياً للترددات والأنماط التوزيعية للمتغيرات المستمرة، مما يجعلهما ممتازين لفحص شكل التوزيع الفردي بالتفصيل والتحقق من اعتداليته المباشرة. ومع ذلك، يعاني المدرج التكراري من عيب جوهري يتمثل في حساسيته الشديدة لحجم وعدد الفئات (Bin Width)، حيث يمكن لتغيير طفيف في حجم الفئة أن يغير من شكل التوزيع الظاهر للمحلل تماماً.

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

تتمثل الممارسة التحليلية المثلى في بناء لوحات عرض استكشافية متكاملة (Exploratory Dashboards) تجمع بين المدرج التكراري في الأعلى لرؤية الترددات التفصيلية للمتغير العام، والمخطط الصندوقي في الأسفل أو بجانبه لإجراء المقارنات الفئوية ورصد القيم الشاذة بدقة، مما يمنح المحلل رؤية شمولية تجمع بين المزايا الترددية والمزايا الموضعية للبيانات.

12.3 دليل اتخاذ القرار لاختيار الرسم البياني الإحصائي الأمثل

لتوجيه الباحثين ومحللي البيانات نحو الاختيار المنهجي الأصوب لأداة التصور البياني، نلخص معايير المفاضلة في مصفوفة قرار إحصائية تستند إلى طبيعة السؤال البحثي، وحجم العينة، وعدد المتغيرات قيد الدراسة:

  • المخطط الصندوقي (df.boxplot): الخيار الأمثل عند مقارنة التوزيعات والوسائط عبر مجموعات فئوية متعددة (3 فئات أو أكثر)، أو عند الرغبة في اكتشاف وفصل القيم الشاذة إحصائياً، أو عند تلخيص بيانات ضخمة الحجم بكفاءة وإيجاز.
  • المدرج التكراري (Histogram): الخيار الأنسب لفحص متغير كمي منفرد بالتفصيل، وتحديد مواضع القمم الترددية الدقيقة، وفحص التوزيع الطبيعي في مراحله الأولية لعينة واحدة.
  • مخطط الكمان (Violin Plot): الخيار المفضل عند الشك في وجود توزيعات ثنائية أو متعددة القمم، وعند الرغبة في الجمع بين مقاييس الربيعات ومنحنيات الكثافة الاحتمالية المستمرة للمجموعات المقارنة.
  • مخطط التشتت مع الصندوق (Boxplot + Strip Plot): الخيار الإلزامي عند التعامل مع عينات صغيرة أو متوسطة الحجم لضمان الشفافية العلمية وإظهار النقاط الحقيقية بجانب التلخيص الإحصائي.

إن إتقان استخدام دالة df.boxplot() في مكتبة Pandas وتطويع معاملاتها البرمجية وخياراتها الجمالية يمنح المحلل أداة قوية تسد الفجوة بين الحسابات الإحصائية الصامتة والتواصل البصري المؤثر، مما يضمن تقديم رؤى واستنتاجات علمية رصينة تدعم مسيرة البحث والابتكار في مختلف مجالات المعرفة الإنسانية والتطبيقية.

خاتمة واستنتاجات ختامية

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

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

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

References

  • Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90–95. https://doi.org/10.1109/MCSE.2007.55
  • McKinney, W. (2010). Data structures for statistical computing in Python. In Proceedings of the 9th Python in Science Conference (Vol. 445, pp. 51–56). https://doi.org/10.25080/Majora-92bf1928-005
  • McKinney, W. (2022). Python for data analysis: Data wrangling with Pandas, NumPy, and Jupyter (3rd ed.). O’Reilly Media.
  • Pandas Development Team. (2024). pandas.DataFrame.boxplot — pandas 2.2.0 documentation. PyData. https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.boxplot.html
  • Tukey, J. W. (1977). Exploratory data analysis. Addison-Wesley Publishing Company.
  • Waskom, M. L. (2021). Seaborn: statistical data visualization. Journal of Open Source Software, 6(60), 3021. https://doi.org/10.21105/joss.03021
  • Wickham, H., & Stryjewski, L. (2011). 40 years of boxplots (Technical Report). University of Nebraska-Lincoln.

اقتباس هذا المقال

looti, M. (2026, أغسطس 29). كيفية إنشاء مخطط صندوقي من إطار بيانات بانداس. عرب سايكلوجي. https://arabpsychology.com/statistics/how-to-create-boxplot-from-pandas-dataframe/
looti, Mohammed. “كيفية إنشاء مخطط صندوقي من إطار بيانات بانداس.” عرب سايكلوجي, 29 أغسطس 2026, https://arabpsychology.com/statistics/how-to-create-boxplot-from-pandas-dataframe/.
looti, Mohammed. “كيفية إنشاء مخطط صندوقي من إطار بيانات بانداس.” عرب سايكلوجي. أغسطس 29, 2026. https://arabpsychology.com/statistics/how-to-create-boxplot-from-pandas-dataframe/.