هل الحلقات في الباندا سيئة حقًا؟ متى يجب أن أهتم؟
مقدمة
في حين أن الباندا معروفة بعملياتها الموجهة التي تعمل على تسريع الحساب، إلا أن العديد من أمثلة التعليمات البرمجية لا تزال تتضمن حلقات. في حين أن الوثائق تقترح تجنب التكرار على البيانات، فإن هذا المنشور يستكشف السيناريوهات التي توفر فيها الحلقات for أداءً أفضل من الأساليب الموجهة.التكرار مقابل التوجيه على البيانات الصغيرةل البيانات الصغيرة، يمكن للحلقات أن تتفوق على الوظائف الموجهة بسبب الحمل الزائد الذي ينطوي عليه التعامل مع الأخير لمحاذاة المحور، وأنواع البيانات المختلطة، والبيانات المفقودة. تعد عمليات فهم القائمة، التي تستخدم آليات تكرارية مُحسّنة، أسرع.
العمليات مع أنواع dtypes المختلطة/الكائنات
المقارنة المبنية على السلسلة:
عمليات السلسلة في الباندا بطيئة بطبيعتها بسبب استخدام الكائن dtypes.
عمليات الفهم في القائمة تتفوق في استخراج القيم من أعمدة القواميس أو القوائم.
غالبًا ما تكون عمليات فهم القائمة أسرع من str.contains "المتجهة"، str. وظائف .extract وstr.extractall.
بالنسبة للصفوف الصغيرة من DataFrames:
التكرار أسرع من الوظائف الموجهة بسبب انخفاض الحمل.
الوظائف الموجهة ليست مجهزة للتعامل مع أنواع البيانات المختلطة، مما يجعل الحلقات أكثر كفاءة.
يمكن تحسين التجميع المسبق لأنماط التعبير العادي والتكرار باستخدام re.search أو re.findall الأداء.
بينما توفر الوظائف الموجهة البساطة وسهولة القراءة، فمن المهم النظر في الحلول المستندة إلى الحلقة في سيناريوهات محددة. يوصى باختبار دقيق لتحديد النهج الأكثر ملاءمة لمتطلبات الأداء الخاصة بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3