هل من الصحيح الادعاء بأن مكتبة Polars الجديدة تتفوق على Pandas في معايير متعددة ، أم أن مكتبة Pandas لا تزال هي الخيار المهيمن؟

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

هنا ، سترى مقارنة للأداء بين Pandas و Polars عبر مجموعة من مهام معالجة البيانات الشائعة.

قياس الأداء: المقاييس ومجموعة البيانات المعيارية

ستأخذ هذه المقارنة في الاعتبار قدرة Pandas و قطبية مكتبات للتعامل مع مجموعة بيانات بيع الجمعة السوداء من Kaggle. تحتوي مجموعة البيانات هذه على 550،068 صفًا من البيانات. يتضمن معلومات حول التركيبة السكانية للعملاء وسجل الشراء وتفاصيل المنتج.

لضمان قياسات عادلة للأداء ، ستستخدم المقارنة وقت التنفيذ كمقياس أداء قياسي في كل مهمة. سيكون Google Colab النظام الأساسي لتشغيل الكود لكل مهمة مقارنة.

يتوفر كود المصدر الكامل الذي يقارن بين مكتبات Pandas و Polars في ملف مستودع جيثب.

قراءة البيانات من ملف CSV

تقارن هذه المهمة الوقت الذي تستغرقه كل مكتبة لقراءة البيانات من مجموعة بيانات بيع الجمعة السوداء. مجموعة البيانات بتنسيق

instagram viewer
تنسيق CSV. تقدم Pandas و Polars وظائف مماثلة لهذه المهمة.

تستغرق Pandas ضعف الوقت الذي تستغرقه Polars لقراءة البيانات في مجموعة بيانات Black Friday Sale.

اختيار الأعمدة

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

تستغرق القطبية وقتًا أقل بكثير لتحديد الأعمدة من مجموعة البيانات مقارنةً بالباندا.

تصفية الصفوف

تقارن هذه المهمة أداء كل مكتبة في تصفية الصفوف حيث يكون ملف جنس العمود هو F من مجموعة البيانات.

تستغرق القطبية وقتًا قصيرًا جدًا مقارنةً بالباندا لتصفية الصفوف.

تجميع وتجميع البيانات

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

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

تطبيق الوظائف على البيانات

تتضمن هذه المهمة تطبيق دالة على عمود واحد أو أكثر. يقيس الوقت الذي تستغرقه كل مكتبة لمضاعفة شراء العمود 2.

بالكاد يمكنك رؤية شريط Polars. مرة أخرى يتفوق القطبية على الباندا.

دمج البيانات

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

تستغرق كلتا المكتبتين بعض الوقت لإكمال هذه المهمة. لكن Polars تستغرق ما يقرب من نصف الوقت الذي يستغرقه Pandas لدمج البيانات.

لماذا القطبية قادرة على التفوق على الباندا؟

في جميع مهام معالجة البيانات المذكورة أعلاه ، تفوقت Polars على Pandas. هناك عدة أسباب وراء تفوق Polars في الأداء على Pandas في وقت التنفيذ.

  • تحسين الذاكرة: يستخدم Polars Rust ، وهي لغة برمجة نظام تعمل على تحسين استخدام الذاكرة. يسمح لـ Polars بتقليل الوقت الذي يقضيه في تخصيص الذاكرة وإلغاء تخصيصها. هذا يجعل وقت التنفيذ أسرع.
  • عمليات SIMD (تعليمات مفردة متعددة البيانات): يستخدم Polars عمليات SIMD لإجراء عمليات حسابية على البيانات. هذا يعني أنه يمكن استخدام تعليمة واحدة لإجراء نفس العملية على عناصر بيانات متعددة في وقت واحد. يسمح هذا لـ Polars بأداء العمليات بشكل أسرع بكثير من Pandas ، التي تستخدم نهجًا مترابطًا واحدًا.
  • التقييم الكسول: تستخدم Polars التقييم الكسول لتأخير تنفيذ العمليات لحين الحاجة إليها. هذا يقلل من مقدار الوقت الذي تقضيه Polars في عمليات غير ضرورية ويحسن الأداء.

قم بتوسيع مهاراتك في علوم البيانات

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