تُعد معالجة البيانات الجداولية الركيزة الأساسية التي تقوم عليها علوم البيانات والتحليلات الإحصائية المعاصرة، حيث تمثل مكتبة Pandas في لغة بايثون البيئة الحوسبية الأكثر رسوخاً وشيوعاً لإجراء العمليات المعقدة على الهياكل البيانية. ومن بين مختلف الأنماط الإجرائية التي يواجهها المهندسون والمحللون يومياً، تبرز مسألة استخراج قيم عمود استناداً إلى الشروط والقيود المفروضة على عمود آخر كواحدة من العمليات الجوهرية التي تحدد كفاءة خطوط معالجة البيانات (Data Pipelines). إن هذه العملية، وإن بدت في ظاهرها مجرد تصفية اعتيادية، تنطوي في عمقها الحسابي على تفاعلات معقدة بين إدارة الذاكرة وتوزيع المتجهات وآليات الفهرسة المتقدمة.
تتنوع المقاربات التقنية لتحقيق هذا الغرض البرمجي، بدءاً من المعاملات الموقعية القائمة على التسميات مثل المعامل المرجعي loc، وصولاً إلى محركات الاستعلام التعبيري المتطورة المتمثلة في الدالة query، والأقنعة المنطقية البوليانية، واستدعاء الدوال الحسابية الموجهة في مكتبة NumPy. يهدف هذا المقال الموسوعي إلى تفكيك الأسس النظرية والميكانيكية لكافة الأساليب المتاحة لاستخراج القيم الشرطية بين الأعمدة في إطار البيانات، مع تسليط الضوء على الأبعاد المعمارية للأداء، والتعقيد الزمني والحسابي، وتجنب المخاطر البرمجية والأنماط المضادة التي قد تؤدي إلى انهيار كفاءة الأنظمة الإنتاجية عند التعامل مع البيانات الضخمة.
من خلال استعراض البنى الداخلية لإطارات البيانات، وتحليل استراتيجيات الفهرسة، والوقوف على أحدث الأدوات الإجرائية، سنقدم مرجعاً شاملاً للمطورين والباحثين يغطي الجوانب التحليلية والتطبيقية، بدءاً من البنى البسيطة وصولاً إلى الأنظمة المؤسسية المعقدة التي تتطلب استخلاصاً فورياً وعالي الموثوقية للمتغيرات المشروطة.
1. الأسس النظرية لمعالجة واستخلاص البيانات الشرطية في مكتبة بانداس
1.1 مفهوم هيكلة البيانات الثنائية (DataFrame) والارتباط العلائقي بين الأعمدة
يتأسس إطار البيانات في مكتبة بانداس على نموذج هيكلي ثنائي الأبعاد يُعرف برمجياً باسم DataFrame، وهو في جوهره كائن برمجي يتألف من مجموعة متراصة ومتزامنة من السلاسل البيانية أحادية البعد المعروفة باسم Series. تتشارك هذه السلاسل في فهرس موحد يضبط تموضع الصفوف، مما يمنح إطار البيانات صفته الهجينة التي تجمع بين مرونة الجداول العلائقية في قواعد البيانات وكفاءة المصفوفات الرياضية متعددة الأبعاد. في الذاكرة الحاسوبية، لا تُخزن هذه الأعمدة كصفوف متتالية، بل تُدار عبر ما يُعرف بمدير الكتل البرمجية، والذي يقوم بتجميع الأعمدة التي تشترك في نفس النوع البياني داخل كتل متصلة من الذاكرة الفيزيائية، وهو ما ينعكس بشكل مباشر على طبيعة وسرعة الوصول إلى السجلات وتعديلها.
تعتمد الفهرسة داخل هذا الهيكل على مستويين رئيسيين: الفهرسة الخطية التتابعية التي تشير إلى المواقع الفيزيائية للعناصر، وفهرسة التسميات التي تعتمد على مفاتيح تصنيفية صريحة. من منظور الجبر العلائقي، تخضع عملية استخراج قيمة عمود بناءً على شروط عمود آخر لاثنين من المفاهيم الرياضية الأساسية: عملية الاختيار أو الترشيح، والتي تهدف إلى تقليص عدد الصفوف في الفضاء البياني عبر تطبيق دالة منطقية محددة، وعملية الإسقاط، التي تعمل على تحديد فضاء الأعمدة المطلوب استرجاعه بعد إتمام التصفية الصفية.
إن إدراك هذه الطبيعة المزدوجة يعد أمراً حاسماً عند نمذجة العلاقات بين المتغيرات المستقلة والتابعة. فعندما نقوم باستخلاص متغير تابع بالاستناد إلى قيمة متغير مستقل، فإننا نُجري في الواقع عملية رسم خرائطي منطقية تتطلب مطابقة دقيقة بين فهارس السلاسل المتوازية، حيث يمثل كل صف نقطة تقاطع تربط بين مختلف الخصائص الإحصائية للكيان المدروس.
1.2 أهمية الاستخلاص المشروط للبيانات في التحليل الإحصائي والاستكشافي
يمثل الاستخلاص المشروط للقيم العمودية العمود الفقري لمرحلة التحليل الاستكشافي للبيانات، حيث يسمح للباحثين بعزل متغيرات بعينها لفحص سلوكها في ظل ظروف وتصنيفات محددة. في مجالات دراسة السلاسل الزمنية والقياسات الحيوية، لا تكتسب الأرقام المطلقة دلالتها الإحصائية إلا عند مقارنتها بسياق محدد، كأن يتم استخراج مستويات ضغط الدم للمرضى الذين ينتمون إلى فئة عمرية محددة أو استرجاع عوائد الأسهم المالية للشركات المصنفة ضمن قطاع التكنولوجيا خلال فترات الركود الاقتصادي.
إلى جانب القيمة الاستكشافية، يلعب الاستخراج الموجه دوراً محورياً في عمليات تنظيف البيانات وإعادة تشكيل مجموعات العينات البحثية. فمن خلال تحديد القيم الشاذة أو غير المنطقية في عمود مرجعي، يمكن استدعاء واستبدال القيم التابعة المقابلة لها دون المساس بسلامة بقية السجلات في قاعدة البيانات. تسهم هذه الآلية في تقليص البصمة الكربونية والحوسبية لمعالجة البيانات، حيث يؤدي استخراج الأجزاء ذات الصلة المباشرة بالفرضيات الإحصائية إلى خفض استهلاك الذاكرة العشوائية بمستويات ملحوظة مقارنة بنسخ أو تحميل كامل الجداول في الذاكرة الحية.
كما يعزز الاستخلاص المشروط المدروس قابلية التوسع البرمجي للأنظمة الخادمة؛ فعندما تُصمم خوارزميات استرجاع البيانات لتكون مقيدة بشرطية مسبقة، تتفادى خطوط المعالجة استدعاء السجلات الزائدة عن الحاجة، مما يتيح للأطر التحليلية التعامل مع مجموعات بيانات تتجاوز سعتها ملايين القيود الحسابية بكفاءة استثنائية.
2. استخدام دالة query() في الاستخراج المشروط: التحليل المعماري وبناء الجملة
2.1 القواعد النحوية (Syntax) والبنية التحتية لمحرك دالة query()
توفر الدالة query في مكتبة بانداس صياغة تعبيرية نصية تتيح تصفية البيانات بأسلوب تصريحي يحاكي لغات الاستعلام البنيوية مثل SQL. يعتمد البناء النحوي للدالة على تمرير سلسلة نصية تصف الشرط المنطقي مباشرة، حيث يتم تقييم هذا النص برمجياً عبر تفكيك رموزه وتحويله إلى شجرة تعبيرية مجردة. يتميز هذا الأسلوب بتجريد المطور من الحاجة إلى تكرار اسم إطار البيانات ورمز الأقواس المربعة بشكل مستمر، مما يجعل الشيفرة البرمجية أكثر مقروئية وقرباً من الصياغة الرياضية المباشرة للفرضيات التحليلية.
من الناحية المعمارية، تستند الدالة إلى محركين رئيسيين لتقييم التعابير: محرك بايثون القياسي، ومحرك numexpr المتخصص في تسريع الحسابات الرقمية. عند توفر محرك numexpr، تُترجم السلاسل النصية التعبيرية إلى عمليات حوسبية متجهة ومجمعة تتجنب إنشاء كائنات وسيطة في الذاكرة المؤقتة، وتستفيد من تقنيات التوازي وتعدد مسارات المعالجة على مستوى الأنوية الصلبة لوحدة المعالجة المركزية، مما يمنحها تفوقاً زمنياً بارزاً عند معالجة الأطر البيانية الضخمة التي تضم ملايين الصفوف.
يتيح هذا المحرك التحليلي الوصول المباشر إلى أسماء الأعمدة كمعرفات برمجية قائمة بذاتها داخل السلسلة التعبيرية دون الحاجة إلى تغليفها بسياقات استدعاء إضافية، وهو ما يقلل من احتمالية ارتكاب الأخطاء الصياغية ويسهل بناء تعابير تصفية ديناميكية وسريعة الاستجابة لمتطلبات المعالجة اللحظية.
2.2 استخراج قيمة عمود مستهدف بالاعتماد على معيار مساواة أحادي
لتنفيذ استخراج قيمة عمود محدد بالاعتماد على معيار مساواة أحادي باستخدام هذه الآلية، يتم صياغة الاستعلام النصي ليعكس المقارنة المباشرة بين قيم العمود المرجعي وقيمة الهدف، ثم يلي ذلك استدعاء العمود المراد استخلاصه كعملية إسقاط لاحقة. فعلى سبيل المثال، في تحليل الأداء الرياضي لفرق كرة السلة، إذا كان إطار البيانات يحتوي على عمود يمثل اسم الفريق وعمود آخر يمثل النقاط المسجلة، يمكن كتابة استعلام يفحص تساوي اسم الفريق مع قيمة نصية معينة، ثم يتم تحديد عمود النقاط كخرج نهائي لهذا التعبير.
تتعامل الدالة بدقة مع الأنواع البيانية المختلفة؛ فعند مقارنة السلاسل النصية، يجب تضمين القيمة المرجعية داخل علامات اقتباس فردية أو مزدوجة متمايزة عن علامات الاقتباس التي تحيط بالاستعلام بأكمله، بينما تُمرر القيم العددية الصحيحة والعائمة بصورة مجردة دون علامات تنصيص لتفادي تحويلها غير المقصود إلى نصوص. ينجم عن هذا الاستدعاء في حالته الافتراضية سلسلة بيانية تحتفظ بالفهارس الأصلية للصفوف التي حققت شرط المساواة في الجدول الأم.
في كثير من التطبيقات المتقدمة، يُشترط التخلص من هذه الفهارس التاريخية واستبدالها بترقيم خطي تصاعدي جديد لضمان التوافق مع الهياكل اللاحقة، وهو ما يتم عبر تذييل التعبير بدالة إعادة ضبط الفهرس، مما يتيح عزل القيم الناتجة واستخدامها كمدخلات مستقلة تماماً في العمليات الإحصائية أو تصديرها إلى مصفوفات حسابية معزولة.
3. تطبيق الاستعلامات الشرطية المركبة عبر دالة query()
3.1 دمج الشروط التعددية باستخدام الروابط المنطقية (and / or)
تتجاوز الاحتياجات التحليلية الواقعية معايير المساواة البسيطة، مما يستدعي بناء استعلامات شرطية مركبة توفق بين قيود متزامنة أو متبادلة. تدعم دالة الاستعلام استخدام الروابط المنطقية الصريحة مثل and للعطف المنطقي و or للانفصال المنطقي، بالإضافة إلى المعاملات النقطية المكافئة لهما، مما يمنح المطورين مرونة فائقة في صياغة الشروط المعقدة رياضياً داخل نسق تعبيري متسق وشامل.
تخضع هذه العمليات لأسبقية المعاملات الحسابية والمنطقية، حيث يحظى معامل العطف بأسبقية تقييم أعلى مقارنة بمعامل الانفصال، مما يفرض استخدام الأقواس الدائرية لترتيب أولويات المعالجة وحماية الاستعلام من الانحرافات التفسيرية غير المرغوبة. فعلى سبيل المثال، عند الرغبة في استخراج مقاييس الأداء للاعبين الذين يشغلون مركز الدفاع وتجاوزت نقاطهم حاجزاً رقمياً محدداً، أو أولئك الذين ينتمون إلى تصنيف هجومي استثنائي بغض النظر عن نقاطهم، تضمن الأقواس عزل التعبير العطفي وتقييمه ككتلة منطقية مستقلة قبل دمجه مع شرط التخيير البديل.
يسهم هذا الأسلوب في الحفاظ على انسيابية الشيفرة المصدرية وسهولة تدقيقها ومراجعتها من قبل فرق العمل، إذ يبتعد بالمطور عن التعقيدات الصياغية الناتجة عن تداخل الأقواس المعقوفة المتعددة التي تشيع عند استخدام الفهرسة البوليانية التقليدية في بايثون.
3.2 استخدام المتغيرات الخارجية والرموز الخاصة داخل الاستعلامات
من المزايا الجوهرية لاستخدام أداة الاستعلامات التعبيرية إمكانية الإشارة إلى المتغيرات المعرفة في النطاق المحلي للبرنامج باستخدام الرمز التوجيهي المسبق @. تتيح هذه الخاصية حقن القيم الديناميكية داخل السلاسل النصية للاستعلامات بأمان وسلاسة، دون اللجوء إلى تقنيات دمج النصوص التقليدية أو التنسيقات النصية المعرضة لأخطاء بناء الجملة أو المخاطر الأمنية.
عند استخدام هذا المحرف، يتولى المحرك الحسابي الداخلي فحص نوع البيانات للمتغير المحلي ومطابقته بدقة مع النوع التخزيني للعمود المرجعي، مما يحول دون وقوع أخطاء عدم توافق الأنواع، مثل مقارنة الأعداد العائمة بالسلاسل النصية. علاوة على ذلك، توفر البيئة دعماً متقدماً للتعامل مع أسماء الأعمدة غير القياسية التي قد تشتمل على مسافات فاصلة أو رموز وعلامات حسابية خاصة، وذلك من خلال تغليف اسم العمود بعلامات التنصيص المائلة المعاكسة، وهو ما يمنع المحلل اللغوي من تفسير تلك المسافات أو الرموز كمعاملات فصل برمجية.
تتكامل هذه الميزات لتضمن أمان واستقرار معالجة البيانات، لاسيما عند بناء منصات تحليلية تفاعلية تتلقى معايير التصفية والاستخراج مباشرة من واجهات المستخدمين الخارجية، حيث يقلل استخدام المتغيرات الموسومة بهذا المحرف من احتمالات الحقن النصي غير المشروع للشيفرات البرمجية داخل بيئة العمل.
4. الفهرسة الموقعية والتصنيفية باستخدام معامِل loc البرمجي
4.1 المبادئ الميكانيكية للوصول القائم على الملصقات عبر خاصية loc
يمثل المعامل loc أحد أكثر الأعمدة استقراراً وموثوقية في مكتبة بانداس لتنفيذ عمليات التحديد والاستخلاص القائمة على التسميات الفهرسية الصريحة. يرتكز التصميم المعماري لهذا المعامل على الفصل الواضح والمطلق بين أبعاد الفضاء البياني؛ حيث يمثل البعد الأول قيود التصفية المطبقة على الصفوف، بينما يخصص البعد الثاني لتحديد الأعمدة المستهدفة بالإسقاط، ويفصل بين البعدين فاصلة قياسية تفصل بين إحداثيات الوصول.
يقضي هذا التصميم الهندسي بشكل جذري على ظاهرة الفهرسة المتسلسلة التي تحدث عند تكرار استخدام الأقواس المعقوفة، والتي تجعل البرنامج عرضة لتوليد كائنات مؤقتة غير محددة الهوية المعمارية. يعتمد المعامل في جوهره على تقييم المصفوفات البوليانية أو التسميات المقابلة للبيانات المخزنة في مؤشرات الصفوف والأعمدة، ويتميز بقدرته الصريحة على تحديد ما إذا كانت النتيجة المسترجعة ستكون مجرد عرض افتراضي يشير إلى نفس موقع الذاكرة الأصلية أم نسخة جديدة كلياً ومنفصلة مادياً عنها.
إن التمييز بين مفهومي العرض والنسخة ذو أهمية قصوى في هندسة البرمجيات؛ حيث يضمن استدعاء البيانات عبر هذا المعامل المباشر عدم الوقوع في أخطاء تعديل البيانات الأصلية عن طريق الخطأ، كما يوفر للمبرمج دقة متناهية في توجيه عمليات التحويل الحسابية نحو مواقع البيانات المحددة بدقة تامة وبأقل استهلاك للموارد.
4.2 التصفية الموجهة للأعمدة بناءً على شروط التباين والمقارنة
تتيح خواص المعامل المرجعي loc تطبيق كافة معاملات المقارنة الرياضية المتطورة لتصفية الصفوف استناداً إلى عمود أساسي ومن ثم استخراج قيم عمود آخر متوازي معه في نفس العملية الحسابية. تشمل هذه المعاملات اختبارات التباين، ومعاملات الأكبر من والأصغر من، بالإضافة إلى إمكانية تمرير مصفوفات شروط متراكبة تهدف إلى تضييق نطاق العينة المستخلصة.
عند تطبيق شرط يقضي بتجاوز قيم عمود المبيعات سقفاً مالياً محدداً، يمكن تمرير اسم عمود الأرباح كإحداثي ثانٍ ضمن المعامل؛ فيقوم المحرك الداخلي بتقييم متجه التباين عبر عمود المبيعات لإنشاء مصفوفة قيم منطقية متجهة، ثم يسقط تلك النتائج المنطقية فوراً على مواقع الذاكرة المقابلة في عمود الأرباح. ينتج عن ذلك سلسلة بيانية أحادية تحتوي فقط على أرباح السجلات المؤهلة، متجاوزة أعباء معالجة بقية الأعمدة غير المرغوبة.
تتسم هذه السلسلة بمرونة تحويلية عالية، حيث يمكن للمحلل تحويلها بلحظة واحدة إلى قائمة بايثون نقية أو مصفوفة بيانات موجهة، مع الاحتفاظ التام بالفهارس التاريخية التي تعكس المواقع الهيكلية للسجلات ضمن الإطار البياني الأصلي، أو التخلي عنها لتأسيس مصفوفات تجميعية جديدة بحسب ما تقتضيه المرحلة اللاحقة من التحليل الإحصائي.
5. الترشيح المنطقي والأقنعة البوليانية (Boolean Masking)
5.1 توليد المتجهات البوليانية وفحص العمليات المنطقية العنصرية
يعد الترشيح المنطقي القائم على الأقنعة البوليانية المفهوم الحسابي الأشد ارتباطاً بآلية عمل النواة المتجهة في بايثون وبانداس. تتلخص هذه التقنية في تطبيق شرط مقارنة رياضي على عمود بأكمله دفعة واحدة، مما يؤدي إلى إنتاج سلسلة بيانية جديدة تتطابق تماماً في الطول والفهرس مع العمود الأصلي، ولكنها تحتوي فقط على قيم منطقية ثنائية تمثل تحقق الشرط من عدمه لكل عنصر على حدة.
تتميز المتجهات البوليانية بكفاءتها الفائقة في إدارة المساحة التخزينية؛ إذ تُخزن القيم المنطقية داخل هياكل بتية متراصة تتطلب قدراً ضئيلاً جداً من الذاكرة مقارنة بمصفوفات الفهارس العددية الصريحة. وعند الحاجة لدمج شروط متعددة، تُستخدم المعاملات النقطية الثنائية، مثل معامل الواو الثنائي ومعامل الياء الثنائي ومعامل النفي المنطقي المتمثل برمز المدة، حيث يتم تطبيق هذه المعاملات عنصراً بعنصر وبسرعة حوسبية متناهية توازي العمليات الرياضية على مستوى المعالج الدقيق.
بمجرد اكتمال بناء القناع البولياني، يتم تطبيقه كمرشح مباشر على العمود المستهدف، متجاوزاً الحاجة إلى استدعاء إطار البيانات ككل؛ حيث يُمرر القناع كمعامل فهرسة ضمن العمود المراد استخراجه، ليقوم النظام باقتطاع القيم المقابلة للمواقع الصحيحة فقط، مما يولد عملية استخلاص موجهة وعالية الانتقائية لأهداف التحليل.
5.2 التطبيق العملي للأقنعة في استخراج الحالات الإحصائية الشاذة
تبرز الفائدة التطبيقية للأقنعة البوليانية في السيناريوهات الإحصائية المتقدمة التي تتطلب كشف واستخراج الحالات المتطرفة أو الشاذة من البيانات التجريبية. على سبيل المثال، يمكن للمحلل بناء قناع منطقي يستند إلى حساب درجات التشتت الإحصائي والانحراف المعياري لمتغير ما، مثل قياس درجات الحرارة في المفاعلات أو تقلبات التدفقات النقدية، لتحديد السجلات التي تبتعد عن المتوسط الحسابي بما يزيد عن ثلاثة أضعاف الانحراف المعياري.
بعد بناء هذا القناع المتخصص استناداً إلى عمود القياس الإحصائي، يُسقط القناع مباشرة على عمود المعرفات الرقمية أو الأسماء لاستخراج هويات الكيانات التي واجهت هذه الانحرافات الشديدة حصراً. تتيح هذه المنهجية للباحثين استخلاص المعطيات المحددة بدقة بالغة وبأقل مجهود حوسبي، مع تفادي أعباء التصفية اليدوية وتجنب الوقوع في فخاخ التكرارات غير المنتجة.
إضافة إلى ذلك، تمتاز الأقنعة البوليانية بقابلية إعادة التدوير البرمجي عبر هياكل بيانات متعددة ومتجانسة في الحجم؛ إذ يمكن توليد قناع بناءً على مصفوفة معينة ثم تطبيقه على جداول بيانات موازية تم جمعها في أزمنة مختلفة، شريطة توافق الأبعاد الهيكلية للأطر البيانية، مما يضمن اتساقاً منهجياً مطلقاً في معايير الاستخراج والفحص الإحصائي.
6. استخراج القيم بالاعتماد على الفحص المجموعي والتضميني
6.1 استخدام دالة isin() لاستخراج القيم ضمن نطاقات مرجعية متعددة
تمثل الدالة isin وسيلة حوسبية رفيعة المستوى لفحص الانتماء المجموعي للعناصر عبر الأعمدة الجداولية، متيحة للمبرمج اختبار ما إذا كانت قيم السجلات تنتمي إلى قائمة أو مجموعة مرجعية محددة مسبقاً. يوفر هذا الأسلوب بديلاً نموذجياً لكتابة سلاسل متكررة من شروط المقارنة المنطقية المنفصلة، والتي تؤدي صياغتها المتكررة إلى تشويه الشيفرة وانخفاض كفاءة تنفيذها البرمجي.
تستقبل الدالة مختلف الهياكل التجميعية كمعايير للفحص، بما في ذلك القوائم، والمجموعات الرياضية، وسلاسل بانداس الأخرى، وحتى القواميس البيانية. وعند تطبيق الدالة على العمود المرجعي، فإنها تنتج قناعاً بوليانياً يحدد السجلات المتوافقة مع أي عنصر من عناصر المجموعة الهدف، والذي يُستخدم بدوره كأداة إسقاط مباشر لاستخلاص قيم عمود آخر مرتبط بتلك السجلات.
علاوة على ذلك، يكتسب النفي المنطقي للدالة عبر استخدام رمز المدة أهمية استثنائية في عمليات الاستبعاد الموجه، حيث يمكن عبر خطوة واحدة استخراج بيانات الأعمدة المستهدفة لكافة الكيانات باستثناء مجموعة فرعية مستبعدة، كأن يتم استخراج مؤشرات الأداء للعملاء مع استبعاد حاملي الحسابات التجريبية أو الفئات غير المستقرة، مما يرفع من جودة ودقة التحليلات الختامية.
6.2 التكامل بين دالة isin() والمحركات الاستعلامية المتقدمة
يتسع نطاق تطبيق الفحص المجموعي ليتكامل بعمق مع محركات الاستعلام التعبيرية، حيث يمكن دمج العامل الشرطي التضميني مباشرة داخل نصوص دالة الاستعلام عبر التعبير النصي in. يسمح هذا التكامل ببناء تعابير هجينة تتسم بالبلاغة الإجرائية والكفاءة التفسيرية العالية عند فحص القيود المعقدة.
يتجلى التفوق الأدائي لهذا التكامل بوضوح عند التعامل مع المتغيرات المصنفة كبيانات فئوية؛ إذ تتميز هذه البيانات بهيكلة داخلية تقوم على ترميز الفئات إلى أرقام صحيحة مصغرة ترتبط بجدول بحث فرعي. فعند فحص الانتماء المجموعي لعمود فئوي، يقوم المحرك بمقارنة الأكواد الرقمية بدلاً من مقارنة السلاسل النصية الطويلة حرفاً بحرف، وهو ما يحقق قفزات نوعية في سرعة التنفيذ عند تصفية مجموعات البيانات الضخمة التي تحتوي على مئات الآلاف من القيود.
ولتعظيم هذه الكفاءة على مستوى الأجهزة، يُفضل تحويل القوائم المرجعية الضخمة الممررة كمعايير فحص إلى مجموعات هاش غير قابلة للتكرار، حيث تنخفض تكلفة البحث الحسابية من التعقيد الزمني الخطي إلى التعقيد اللحظي الثابت، مما يضمن أداءً فائقاً ومستقراً حتى عند تقاطع ملايين السجلات مع فئات بحث متعددة ومتشابكة.
7. معالجة النصوص وتطبيق شروط المطابقة الجزئية للأعمدة
7.1 استخدام خصائص السلاسل النصية (str accessor) في بناء الشروط
تتضمن الكثير من مجموعات البيانات التطبيقية قيماً نصية تتطلب استخراج متغيرات تابعة بناءً على مطابقة جزئية أو أنماط لغوية خاصة بدلاً من المساواة التامة. تتيح مكتبة بانداس تحقيق هذه الغاية عبر مجمّع الدوال النصية المتخصص، والذي يوفر واجهة متجهية لتطبيق وظائف معالجة النصوص القياسية عبر كل عنصر من عناصر السلسلة البيانية بصورة فورية ومتزامنة دون الحاجة لكتابة حلقات تكرارية بطيئة.
تتضمن هذه الأدوات دوال فحص الاحتواء الجزئي، والتحقق من البادئات واللاحقات النصية، والتي تمكّن المحلل من بناء شروط انتقائية دقيقة. فمثلاً، يمكن استخراج الرواتب المقابلة للموظفين الذين تحتوي مسمياتهم الوظيفية على مقطع معين أو تبدأ بترميز قطاعي محدد. تتضمن هذه الدوال معايير إضافية للتحكم في حساسية حالة الأحرف وتوجيه الترميزات المتوافقة مع اللغات المختلفة مثل الترميز الموحد (UTF-8)، مما يضمن ملاءمتها للنصوص العربية واللاتينية على حد سواء.
من التحديات البارزة في هذه المعالجة مواجهة الخلايا التي تحتوي على قيم مفقودة؛ حيث تؤدي محاولة معالجة النصوص الخالية افتراضياً إلى إرجاع قيم غير محددة تكسر مسار القناع البولياني. ولتلافي هذا السلوك غير المرغوب، توفر الدوال النصية معاملاً صريحاً لتحديد قيمة الخرج البديلة عند مواجهة الفراغات، مما يحافظ على التماسك المنطقي لعملية الاستخراج ويضمن خلو المصفوفة الناتجة من الأخطاء التفسيرية.
7.2 الاستعلام المتقدم المعتمد على التعابير النمطية (Regular Expressions)
تتطلب السيناريوهات الأكثر تعقيداً مطابقة أنماط بنيوية غير نمطية في الأعمدة المرجعية، مثل أرقام الهواتف أو الرموز البريدية أو الأكواد التعريفية المشفرة. تدعم مكتبة بانداس دمج صياغات التعابير النمطية المتقدمة مباشرة ضمن خصائص السلاسل النصية، مما يتيح استخراج قيم الأعمدة المقابلة لتلك الأنماط بدقة رياضية صارمة.
على الرغم من القوة التعبيرية الهائلة لمحركات التعابير النمطية، إلا أنها تتطلب جهداً حوسبياً أعلى مقارنة بالتحقق النصي المجرد، نظراً لضرورة بناء آلة حالات محدودة لكل فحص نمطي عبر كل سجل. لذلك، يتعين على المهندسين مراعاة كتابة صياغات خالية من التفرعات العشوائية وتجنب الارتداد غير الضروري أثناء المطابقة للحد من هدر زمن المعالجة على وحدات المعالجة المركزية.
تسهم هذه التقنية في تحويل المهام التنقيبية الشاقة إلى أسطر برمجية بالغة الدقة؛ حيث يمكن مثلاً فحص أرقام الفواتير لاستخلاص التواريخ المقابلة للفواتير التي تتطابق حصرياً مع النمط الدولي لتسجيل الضرائب، مما يوفر بيئة استخلاص متكاملة تجمع بين القوة التحليلية للمحركات اللغوية والسرعة الهيكلية لقواعد البيانات الرقمية الحديثة.
8. التعامل مع القيم المفقودة والبيانات غير المكتملة أثناء الاستخراج
8.1 سلوك القيم المفقودة (NaN / None) في المقارنات المنطقية
يعد التعامل مع البيانات المفقودة أحد أشد الجوانب حساسية في هندسة البيانات واستخلاص المتغيرات المشروطة. في بايثون وبانداس، تمثل القيم المفقودة العددية عبر كائن القيمة غير المعينة العائمة الخاضع لمعايير معهد مهندسي الكهرباء والإلكترونيات الحسابية IEEE 754. تتسم هذه القيمة بخاصية رياضية فريدة تتمثل في فشلها التلقائي والدائم في اختبارات المساواة، حتى وإن قورنت بنفسها؛ أي أن مقارنة خلية مفقودة بخلية مفقودة أخرى ينتج عنها دائماً قيمة منطقية خاطئة.
يترتب على هذا السلوك الإحصائي إقصاء تلقائي لكافة الصفوف التي تحتوي على قيم غير معينة في العمود المرجعي عند تطبيق شروط الاستخراج القائمة على المساواة أو المقارنات الترتيبية، مما قد يؤدي في بعض الحالات إلى تشويه حجم العينة المستخلصة دون تنبيه صريح من المترجم البرمجي. يزداد هذا التعقيد عند استخدام محركات الاستعلام التعبيرية، حيث يؤدي وجود الفراغات إلى تصرفات تصفوية متباينة تستوجب الانتباه الدقيق.
ولضمان استقرار خطوط التحليل، ينبغي استدعاء الدوال المتخصصة في كشف وتأكيد الفراغات، والتي تتيح دمج فحص الوجود من عدمه ضمن الشرط المنطقي المستهدف، مما يمنح الباحثين القدرة على تحديد المسار التشغيلي بوضوح؛ فإما أن تُستبعد السجلات غير المكتملة بصورة مقصودة ومنهجية، أو يتم تضمينها عبر استثناءات شرطية مدروسة تضمن دقة العينة التحليلية وموثوقية مخرجاتها.
8.2 استراتيجيات التنقية المسبقة والتعويض الشرطي للقيم
لتفادي السلوكيات العشوائية التي يفرضها وجود الفراغات، يُنصح بتطبيق استراتيجيات التنقية المسبقة قبل تفعيل عمليات استخراج القيم المتبادلة بين الأعمدة. تتضمن هذه الاستراتيجيات استخدام دوال إسقاط البيانات غير المكتملة لتطهير العمود المرجعي من أي سجلات فارغة قد تفسد دقة الشرط المفروض، وهو ما يضمن استقرار حجم المصفوفات البوليانية الناتجة وتماسك منطقها الإحصائي.
في المقابل، عندما تفرض طبيعة البحث الحفاظ على الحجم الكلي للعينة دون إنقاص، يمكن اللجوء إلى تقنيات التضمين والتعويض المؤقت، حيث تُستبدل القيم المفقودة في عمود الأساس بمتوسطات إحصائية أو بقيم وسيطة معيارية تعكس الاتجاه العام للتوزيع. تتيح هذه التضمينات استيفاء الشروط دون الإخلال بالمواقع الفهرسية الأصلية للسجلات، وتضمن توافق العمليات الحسابية التالية عبر إطار البيانات.
كما يمكن تصميم استعلامات ذكية تتضمن إرجاع قيم افتراضية بديلة في حال عدم تحقق الشرط نتيجة لغياب البيانات الأصلية، مع التأكد الصارم من الحفاظ على التوافق النمطي للأعمدة وتجنب التحويلات القسرية للأنواع البيانية؛ حيث يؤدي خلط الأعداد بالنصوص عند التعويض إلى تحويل نوع العمود المستهدف إلى فئة الكائنات العامة، مما يترتب عليه فقدان مزايا التسريع المتجه وهبوط كفاءة العمليات الإحصائية اللاحقة.
9. استخراج القيم المشروطة عبر التحويلات الموجهة باستخدام دالة numpy.where()
9.1 المفهوم الإجرائي لتوليد وتعيين القيم المتجهة الشرطية
تقدم مكتبة نامباي عبر دالتها الشهيرة where حلاً حسابياً بالغ القوة لتوليد وتعيين قيم الأعمدة المشروطة استناداً إلى مسارات تفرعية متجهة بالكامل. تتطابق هذه الدالة بنيوياً مع المعامل الشرطي الثلاثي المتاح في اللغات الإجرائية، لكنها تتميز بقدرتها على معالجة مصفوفات هائلة الحجم بضربة حوسبية واحدة دون اللجوء نهائياً إلى التكرار الصريح عبر الصفوف.
تستقبل الدالة ثلاثة وسائط رئيسية: مصفوفة الشرط المنطقي التي تحدد مواقع الاختبار في العمود المرجعي، والقيمة أو السلسلة البيانية المراد إسقاطها في حال تحقق الشرط، والقيمة البديلة التي يتم إسنادها في حال عدم تحققه. وبفضل التوافق المعماري بين مكتبتي بانداس ونامباي، يمكن تمرير أعمدة إطار البيانات مباشرة كوسائط لهذه الدالة، لتقوم النواة المكتوبة بلغة السي منخفضة المستوى بفرز القيم وتوليد مصفوفة جديدة في زمن قياسي يقل بأضعاف عن محاولات التصفية التقليدية.
تُعد هذه الآلية الخيار الأمثل عند الرغبة في إنشاء عمود جديد مشتق كلياً من عمود قائم استناداً إلى عتبة محددة، كأن يتم تعيين تصنيف المخاطر المرتفعة للمشاريع التي تتجاوز ميزانيتها حداً معيناً مع الإبقاء على التصنيف العادي لبقية المشاريع، حيث يُعاد تغليف المصفوفة الناتجة فوراً داخل سلسلة بانداس تحافظ على الفهرسة الموحدة لإطار البيانات الأصلي.
9.2 إدارة الشروط متعددة الفروع باستخدام numpy.select()
عندما تتسع رقعة المسائل الحسابية لتشمل شروطاً تفريعية متعددة تتجاوز منطق الصواب والخطأ الثنائي، تبرز دالة select التابعة لنفس المكتبة كواحدة من أرقى الأدوات الهندسية لمعالجة التفرعات المتشعبة دون الوقوع في شراك تداخل جمل المقارنة المعقدة التي يصعب تدقيقها وصيانتها برمجياً.
تعتمد هذه المنهجية على الفصل البنيوي التام بين قائمة الشروط وقائمة الخيارات؛ حيث يتم أولاً إنشاء قائمة تضم المصفوفات المنطقية المنفصلة التي تعبر عن كل حالة فرعية، ثم يتم بالتوازي بناء قائمة مقابلة تحتوي على القيم أو الأعمدة المستهدفة التي يجب استخلاصها وتعيينها لكل شرط على حدة. وأخيراً، يتم تمرير القائمتين إلى الدالة بالإضافة إلى قيمة افتراضية شاملة تُسند للسجلات التي تفشل في تلبية كافة المعايير المصاغة.
يوضح التحليل الحسابي المقارن أن هذا الأسلوب يتفوق بصورة كاسحة على دوال التطبيق التكرارية التقليدية التي تعتمد على معالجة الصفوف فرادى عبر دوال بايثون المفسرة. فالأخيرة تتسبب في تبديد موارد المعالجة وتوليد أعباء ضخمة مرتبطة بإدارة سياقات الدوال، في حين تضمن هذه المنظومة المتجهة إتمام الفحص والفرز والإسناد عبر أنابيب المعالجة منخفضة المستوى بسرعة توازي حدود الأداء الفيزيائي للعتاد الصلب.
10. التحليل المقارن للأداء والكفاءة الحسابية لطرق الاستخراج المختلفة
10.1 المفاضلة الحسابية في سرعة التنفيذ بين query() و loc و الأقنعة المنطقية
تتباين الطرق المتاحة لاستخراج القيم المشروطة من حيث زمن التنفيذ واستهلاك الذاكرة الحية، وتخضع المفاضلة بينها لعوامل هيكلية ترتبط بحجم إطار البيانات، وطبيعة الشروط المنطقية، ونوع البيانات الخاضعة للاختبار. توفر أدوات القياس الزمني الدقيق في بيئة بايثون رؤية موضوعية تكشف عن الفروق الجوهرية بين الأداء النظري والتنفيذ العملي لكل استراتيجية من هذه الاستراتيجيات البرمجية.
في مجموعات البيانات الصغيرة إلى المتوسطة الحجم، والتي يقل عدد صفوفها عن مائة ألف صف، يتربع المعامل loc والأقنعة المنطقية المباشرة على قمة الأداء الحسابي. يعود هذا التفوق إلى غياب أي أعباء إضافية تتعلق بتحليل السلاسل النصية أو بناء الأشجار التعبيرية؛ فالعملية تتم فوراً عبر واجهات الفهرسة الأساسية المرتبطة بمصفوفات التخزين، مما يجعلها تحقق سرعات استجابة شبه لحظية.
في المقابل، عندما تتضخم البيانات لتتجاوز ملايين الصفوف، يتبدل ميزان القوى لصالح دالة query المدعومة بمحرك numexpr، ولاسيما في العمليات التي تشتمل على تعابير حسابية مركبة تتطلب دمج عدة أعمدة. ففي حين تضطر الأقنعة التقليدية إلى توليد سلاسل بوليانية وسيطة متعددة في الذاكرة العشوائية، يتولى المحرك التعبيري دمج العمليات وتقسيم البيانات إلى كتل حسابية متناسبة مع سعة الذاكرة المخبأة للمعالج الدقيق، مما يقلل من فترات انتظار جلب البيانات من الذاكرة الرئيسية ويحقق تفوقاً زمنياً لافتاً في بيئات المعالجة المكثفة.
10.2 الأنماط البرمجية المناهضة (Anti-patterns) التي ينبغي تجنبها قطيعاً
تحفل ممارسات هندسة البيانات بالعديد من الأنماط البرمجية المناهضة التي تعوق الأداء وتتسبب في انهيار سرعة المعالجة واستقرارها. يأتي في مقدمة هذه الأنماط استخدام حلقات التكرار الصريحة، والتي تتجاهل تماماً البنية المتجهة لمكتبة بانداس وتقوم بتحويل كل صف إلى سلسلة أو صف تركيبي منفصل داخل بيئة بايثون التفسيرية، وهو ما يتسبب في إبطاء العمليات بمعدلات تصل إلى مئات المرات مقارنة بالفهرسة المباشرة.
من المخاطر الشائعة أيضاً الاعتماد على الفهرسة المتسلسلة المضاعفة، وهي الممارسة التي يتم فيها تطبيق قوسي ترشيح متتابعين للحصول على النتائج. إن هذا النمط لا يهدد الأداء فحسب، بل يولد خطراً برمجياً جسيماً ينتج عنه ظهور التحذير الشهير الخاص بالتعيين فوق النسخ (SettingWithCopyWarning). يعود سبب هذا التحذير إلى عدم قدرة المترجم على التنبؤ بما إذا كانت العملية السابقة قد أعادت مؤشراً لبيانات الجدول الأصلي أم نسخة جديدة تماماً منها، مما يجعل أي محاولة لتعديل أو استخراج القيم عبر هذه الطريقة مساراً غير موثوق به سلوكياً.
يتعين كذلك تجنب التحويلات القسرية غير المبررة بين هياكل بانداس والقواميس أو القوائم التقليدية بغرض إجراء التصفية؛ فالخروج من النظام الحسابي لبانداس يفقد البرنامج كافة التحسينات المتجهة ويستهلك الذاكرة في إنشاء كائنات بايثون مجردة تفتقر للترابط الهيكلي، مما يضر بموثوقية البرمجيات في البيئات الإنتاجية الحساسة.
11. دمج وتجميع البيانات المستخلصة شرطياً في العمليات الإحصائية المتقدمة
11.1 ربط شروط الاستخراج بالتجميع الفئوي عبر groupby() و agg()
يتكامل الاستخراج المشروط للأعمدة بشكل وثيق مع عمليات التحليل التجميعي الفئوي، حيث تتطلب الأسئلة التحليلية المتقدمة تطبيق شروط الاستخلاص إما كمرشح مسبق قبل بناء المجموعات أو كإجراء تحليلي لاحق يعقب التجميع. يتيح هذا الدمج الانتقال من التحليلات الأفقية البسيطة إلى التحليلات الهيكلية متعددة الأبعاد.
عند الرغبة في حساب المقاييس الإحصائية المتقدمة، مثل المتوسط المرجح أو الانحراف المعياري، لفئات محددة حصراً، يمثل استخراج الأعمدة المشروطة مسبقاً وسيلة مثلى لتخفيف العبء الحسابي؛ حيث يتم عزل السجلات المتوافقة مع معايير الدراسة وتمريرها مباشرة إلى دالة التجميع. كما توفر دالة التصفية التابعة لمنظومة المجموعات إمكانية استخلاص بيانات عمود ما للمجموعات التي تحقق خاصية إحصائية جماعية، كاستخراج أسماء المنتجات التابعة للقطاعات التي يتجاوز متوسط مبيعاتها حداً معيناً.
تسهم هذه الآليات المتراكبة في صياغة تقارير تحليلية شاملة تلخص المتغيرات التابعة بدقة عبر مختلف التصنيفات، مع الحفاظ على مرونة التعديل البرمجي وإمكانية إضافة مؤشرات جديدة دون الحاجة لإعادة هيكلة خطوط المعالجة البيانية القائمة.
11.2 استخراج القيم ونقلها بين أطر البيانات المتعددة عبر تقنيات الدمج والربط
في الأنظمة المعقدة، غالباً ما تتوزع الأعمدة المستهدفة والأعمدة المرجعية عبر جداول بيانية منفصلة ترتبط ببعضها عبر معرفات وظيفية مشتركة. يستلزم هذا السيناريو استخدام تقنيات الربط والدمج المتكافئة لاستخلاص قيم عمود من جدول بناءً على معايير مشروطة في جدول موازٍ تماماً كما هو متبع في قواعد البيانات المترابطة.
تتيح دوال الدمج المتخصصة ربط الجداول وفق مفاتيح موحدة، مما يمكن المطور من إسقاط شروط التصفية على الجدول الأول ثم استخراج وحقن النتائج المقابلة في الجدول الثاني بدقة متناهية. تبرز هنا أدوات التحديث الموجه المتاحة في مكتبة بانداس لتسهيل تعديل قيم عمود معين في إطار البيانات وفقاً لنتائج التطابق المستخلصة من إطار آخر، مما يضمن تدفقاً سلساً للبيانات عبر المستودعات المختلفة.
تتطلب هذه الإجراءات تنظيماً حذراً لإدارة احتمالات تكرار المفاتيح التعاقدية أو عدم اتساق الفهارس؛ حيث يؤدي إهمال معالجة التكرار إلى تضخم السجلات الناتجة عن الربط وانحراف الحسابات الإحصائية عن دقتها المنهجية، وهو ما يفرض تطبيق فحوصات التحقق من التفرد قبل إتمام عمليات النقل والاستخراج المشروطة بين الأطر المختلفة.
12. تطبيقات ودراسات حالة عملية مكثفة على مجموعات بيانات حقيقية
12.1 دراسة تطبيقية: تحليل الأداء الإحصائي للفرق الرياضية المتقدمة
لتجسيد المفاهيم المشروحة في بيئة عملية واقعية، نفترض وجود مجموعة بيانات متقدمة توثق أداء لاعبي كرة السلة في الدوريات الاحترافية، وتضم أعمدة تمثل اسم اللاعب، والنادي المنتمي إليه، والمركز الميداني، وإجمالي النقاط المسجلة، بالإضافة إلى معدل الفعالية الهجومية المسجل على مدار الموسم الرياضي.
يتمثل التحدي التحليلي في استخراج أسماء اللاعبين الذين تجاوزت كفاءتهم الهجومية عتبة معينة وسجلوا نقاطاً تفوق المتوسط العام للموسم، بشرط انتمائهم إلى فئة مراكز اللعب الخلفية، بهدف ترشيحهم لجوائز التميز الفردي. تبدأ العملية البرمجية بتهيئة إطار البيانات والتحقق من سلامة الأنواع البيانية للأعمدة الرقمية والنصية لضمان تجانس الفحوصات المنطقية اللاحقة.
يتم تطبيق هذا الاستخراج عبر مسارين متوازيين لتوثيق الفروق الصياغية؛ المسار الأول يوظف المعامل المرجعي loc مع مصفوفة شروط بوليانية مركبة تجمع بين تقييم المركز الرياضي واختبار العتبات الرقمية عبر المعاملات النقطية، ثم يتم إسقاط النتيجة حصراً على عمود أسماء اللاعبين. والمسار الثاني يعيد إنتاج نفس العملية باستخدام دالة الاستعلام التعبيري من خلال صياغة نصية أنيقة تشمل حقن المتغيرات الإحصائية المحلية وتحديد عمود الأسماء كخرج نهائي، مما يبرز كيف يمكن لنفس الفرضية التحليلية أن تُصاغ بأساليب برمجية مختلفة تلبي تطلعات الأداء والوضوح المفاهيمي على حد سواء.
12.2 دراسة تطبيقية: التصفية والفرز الشرطي في السجلات المالية والمصرفية
تتناول الحالة التطبيقية الثانية قطاع المعاملات المالية والمصرفية، حيث تتطلب الأنظمة الرقابية رصد ومراقبة الحركات المالية المشبوهة للحد من المخاطر التشغيلية والجرائم المالية. في هذا السياق، يتضمن جدول البيانات المصرفي المرجعي معرفات الحسابات، وقيمة المعاملة النقدية، والتوقيت الزمني، والتصنيف الجغرافي لبلد المصدر، والمؤشر الإحصائي للمخاطر المحتسبة مسبقاً.
تتمثل المهمة الهندسية في استخراج أرقام الحسابات المالية التي نفذت عمليات تحويل تتجاوز قيمتها حداً نقدياً مرتفعاً ونشأت في مناطق جغرافية مصنفة ضمن القوائم الائتمانية عالية المخاطر، مع استبعاد المعاملات المصرفية المجدولة مسبقاً والموثقة بضمانات بنكية معتمدة. يتم استدعاء دالة الفحص التضميني لحصر الدول المحددة في القائمة الرقابية ودمجها مع شروط المقارنة الرقمية للمبالغ والقيود الزمنية المرتبطة بالحركات الليلية.
تستخرج المنظومة سلسلة الحسابات المستهدفة بدقة قطعية وتمررها إلى وحدات التفتيش والتحقق اللحظي، مما يؤكد على الأهمية الحيوية لسلامة منطق استخراج الأعمدة المشروطة في حماية المؤسسات المالية من التعرض للعقوبات النظامية أو الخسائر التشغيلية، مع مراعاة أعلى معايير التوثيق البرمجي وضمان الجودة الصارمة لتفادي الأخطاء في بيئات العمل الإنتاجية.
خاتمة
استعرض هذا المقال الموسوعي الآليات المتقدمة لاستخراج قيم عمود استناداً إلى عمود آخر في مكتبة بانداس، مبيناً الفروق الجوهرية بين الفهرسة الموقعية القائمة على الملصقات عبر المعامل loc، والأقنعة المنطقية البوليانية، ومحركات الاستعلام التعبيرية المتقدمة مثل query، إلى جانب التحويلات الشعاعية عالية الكفاءة عبر دوال نامباي مثل numpy.where و numpy.select. وقد تبين من التحليل المعماري أن اختيار الأسلوب البرمجي الأمثل لا يرتبط فقط بالصياغة النحوية الأبسط، بل يتحدد بطبيعة وحجم البيانات، والتعقيد المنطقي للشروط المفروضة، وقيود الذاكرة، ومتطلبات الأداء في الأنظمة الإنتاجية.
إن إتقان هذه الأدوات، والوعي بالأنماط المناهضة مثل الفهرسة المتسلسلة والتكرار اليدوي الصريح، يمثل ركيزة لا غنى عنها لبناء خطوط معالجة بيانات تتسم بالسرعة، والاستقرار، وقابلية التوسع؛ مما يمنح المطورين والباحثين القدرة الكاملة على تسخير الإمكانات الحسابية الموجهة في بيئة بايثون لتحقيق نتائج تحليلية عالية الدقة والموثوقية.
المراجع
- McKinney, W. (2010). Data structures for statistical computing in Python. In Proceedings of the 9th Python in Science Conference (Vol. 445, pp. 51–56). Austin, TX. https://doi.org/10.25080/Majora-92bf1922-00a
- McKinney, W. (2022). Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter (3rd ed.). O’Reilly Media.
- 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
- The pandas development team. (2024). pandas-dev/pandas: pandas 2.2.2. Zenodo. https://doi.org/10.5281/zenodo.10986708
- VanderPlas, J. (2016). Python Data Science Handbook: Essential Tools for Working with Data. O’Reilly Media.
- IEEE. (2019). IEEE Standard for Floating-Point Arithmetic (IEEE Std 754-2019). IEEE Computer Society. https://doi.org/10.1109/IEEESTD.2019.8766229