"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > القطبية مقابل الباندا عصر جديد من Dataframes في بايثون؟

القطبية مقابل الباندا عصر جديد من Dataframes في بايثون؟

تم النشر بتاريخ 2024-09-27
تصفح:860

Polars vs. Pandas A New Era of Dataframes in Python ?

القطبية مقابل الباندا: ما الفرق؟

إذا كنت تواكب التطورات الأخيرة في بايثون، فمن المحتمل أنك سمعت عن Polars، وهي مكتبة جديدة للتعامل مع البيانات. في حين أن pandas كانت المكتبة المفضلة لفترة طويلة، إلا أن Polars تُحدث ضجة، خاصة في التعامل مع مجموعات البيانات الكبيرة. إذًا، ما هي المشكلة الكبيرة مع القطبيين؟ كيف تختلف عن الباندا؟ دعونا نقسمها.


ما هو القطبية؟

Polars هي مكتبة مجانية مفتوحة المصدر مبنية على Rust (لغة برمجة سريعة وحديثة). إنه مصمم لمساعدة مطوري Python على التعامل مع البيانات بطريقة أسرع وأكثر كفاءة. فكر في الأمر كبديل لحيوانات الباندا الذي يتألق عندما تعمل مع مجموعات بيانات كبيرة جدًا قد تواجه حيوانات الباندا صعوبة في التعامل معها.


لماذا تم إنشاء القطبية؟

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

وهنا يأتي دور Polars، حيث تم تصميمه ليكون سريعًا للغاية وفعالاً في الذاكرة، وهما أمران تواجههما الباندا عند التعامل مع البيانات الضخمة.


الاختلافات الرئيسية: القطبية مقابل الباندا

1. السرعة

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

2. استخدام الذاكرة

تعتبر Polars أكثر كفاءة عندما يتعلق الأمر بالذاكرة. يستخدم حوالي ذاكرة أقل من 5 إلى 10 مرات من الباندا، مما يعني أنه يمكنك العمل مع مجموعات بيانات أكبر بكثير دون التعرض لمشاكل في الذاكرة.

3. التنفيذ البطيء

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

4. تعدد الخيوط

يمكن لـ Polars استخدام نوى وحدة المعالجة المركزية المتعددة في نفس الوقت لمعالجة البيانات، مما يجعلها أسرع بالنسبة لمجموعات البيانات الكبيرة. Pandas في الغالب عبارة عن خيط واحد، مما يعني أنه لا يمكنه استخدام سوى نواة وحدة المعالجة المركزية (CPU) واحدة في كل مرة، مما يؤدي إلى إبطاء الأمور، خاصة مع مجموعات البيانات الكبيرة.


لماذا القطبية سريعة جدا؟

بولار سريع لعدة أسباب:

  • تم دمجها في Rust، وهي لغة برمجة معروفة بسرعتها وأمانها، مما يجعلها فائقة الكفاءة.
  • يستخدم Apache Arrow، وهي طريقة خاصة لتخزين البيانات في الذاكرة تجعل العمل بها أسهل وأسرع عبر لغات البرمجة المختلفة.

هذا المزيج من Rust وApache Arrow يمنح Polars التفوق على الباندا عندما يتعلق الأمر بالسرعة واستخدام الذاكرة.


نقاط القوة والقيود لدى الباندا

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

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


متى يجب عليك استخدام القطبية؟

يجب عليك التفكير في استخدام Polars إذا:

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

خاتمة

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

مع استمرار تطور بايثون، قد تصبح Polars أداة الانتقال الجديدة للتعامل مع البيانات الضخمة.

ترميز سعيد؟ ؟

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/aashwinkumar/polars-vs-pandas-a-new-era-of-dataframes-in-python--1654?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang@ 163.com لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3