إذا كنت تواكب التطورات الأخيرة في بايثون، فمن المحتمل أنك سمعت عن Polars، وهي مكتبة جديدة للتعامل مع البيانات. في حين أن pandas كانت المكتبة المفضلة لفترة طويلة، إلا أن Polars تُحدث ضجة، خاصة في التعامل مع مجموعات البيانات الكبيرة. إذًا، ما هي المشكلة الكبيرة مع القطبيين؟ كيف تختلف عن الباندا؟ دعونا نقسمها.
Polars هي مكتبة مجانية مفتوحة المصدر مبنية على Rust (لغة برمجة سريعة وحديثة). إنه مصمم لمساعدة مطوري Python على التعامل مع البيانات بطريقة أسرع وأكثر كفاءة. فكر في الأمر كبديل لحيوانات الباندا الذي يتألق عندما تعمل مع مجموعات بيانات كبيرة جدًا قد تواجه حيوانات الباندا صعوبة في التعامل معها.
الباندا موجودة منذ سنوات، ولا يزال الكثير من الناس يحبون استخدامها. ولكن مع تزايد حجم البيانات وتعقيدها، بدأت حيوانات الباندا تظهر بعض نقاط الضعف. لاحظ ريتشي فينك، مبتكر Polars، هذه المشكلات وقرر إنشاء شيء أسرع وأكثر كفاءة. حتى ويس ماكيني، مبتكر الباندا، اعترف في منشور مدونة بعنوان "10 أشياء أكرهها في الباندا" أن الباندا يمكن أن تستخدم بعض التحسينات، خاصة مع مجموعات البيانات الكبيرة.
وهنا يأتي دور Polars، حيث تم تصميمه ليكون سريعًا للغاية وفعالاً في الذاكرة، وهما أمران تواجههما الباندا عند التعامل مع البيانات الضخمة.
Polars هو سريع حقًا. في الواقع، تظهر بعض المعايير أن Polars يمكن أن تكون أسرع بما يصل إلى من 5 إلى 10 مرات من الباندا عند إجراء عمليات مشتركة، مثل تصفية البيانات أو تجميعها. يكون هذا الاختلاف في السرعة ملحوظًا بشكل خاص عند العمل مع مجموعات بيانات كبيرة.
تعتبر Polars أكثر كفاءة عندما يتعلق الأمر بالذاكرة. يستخدم حوالي ذاكرة أقل من 5 إلى 10 مرات من الباندا، مما يعني أنه يمكنك العمل مع مجموعات بيانات أكبر بكثير دون التعرض لمشاكل في الذاكرة.
يستخدم Polars شيئًا يسمى التنفيذ البطيء، مما يعني أنه لا يقوم بتشغيل كل عملية على الفور أثناء كتابتها. وبدلاً من ذلك، فإنه ينتظر حتى تكتب سلسلة من العمليات، ثم يقوم بتشغيلها جميعًا مرة واحدة. وهذا يساعدها على تحسين الأمور وتشغيلها بشكل أسرع. من ناحية أخرى، يقوم الباندا بتشغيل كل عملية على الفور، وهو ما قد يكون أبطأ بالنسبة للمهام الكبيرة.
يمكن لـ Polars استخدام نوى وحدة المعالجة المركزية المتعددة في نفس الوقت لمعالجة البيانات، مما يجعلها أسرع بالنسبة لمجموعات البيانات الكبيرة. Pandas في الغالب عبارة عن خيط واحد، مما يعني أنه لا يمكنه استخدام سوى نواة وحدة المعالجة المركزية (CPU) واحدة في كل مرة، مما يؤدي إلى إبطاء الأمور، خاصة مع مجموعات البيانات الكبيرة.
بولار سريع لعدة أسباب:
هذا المزيج من Rust وApache Arrow يمنح Polars التفوق على الباندا عندما يتعلق الأمر بالسرعة واستخدام الذاكرة.
في حين أن Polars رائعة للبيانات الضخمة، إلا أن الباندا لا يزال لها مكانها. تعمل Pandas بشكل جيد مع مجموعات البيانات الصغيرة والمتوسطة الحجم وهي موجودة منذ فترة طويلة حتى أنها تحتوي على الكثير من الميزات ومجتمع ضخم. لذا، إذا كنت لا تتعامل مع مجموعات بيانات ضخمة، فقد تظل حيوانات الباندا هي خيارك الأفضل.
ومع ذلك، مع زيادة حجم مجموعات البيانات الخاصة بك، تميل حيوانات الباندا إلى استخدام المزيد من الذاكرة وتصبح أبطأ، مما يجعل Polars خيارًا أفضل في تلك المواقف.
يجب عليك التفكير في استخدام Polars إذا:
يتمتع كل من القطبين والباندا بنقاط قوتهما. إذا كنت تعمل مع مجموعات بيانات صغيرة إلى متوسطة، فلا تزال الباندا أداة رائعة. ولكن إذا كنت تتعامل مع مجموعات كبيرة من البيانات وتحتاج إلى شيء أسرع وأكثر كفاءة في الذاكرة، فإن Polars تستحق التجربة بالتأكيد. يعزز أداءه بفضل Rust وApache Arrow، مما يجعله خيارًا رائعًا للمهام كثيفة البيانات.
مع استمرار تطور بايثون، قد تصبح Polars أداة الانتقال الجديدة للتعامل مع البيانات الضخمة.
ترميز سعيد؟ ؟
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3