عن المشروع
Awkward Array هي مكتبة بايثون مصممة للتعامل مع هياكل البيانات المتداخلة ومتغيرة الحجم—مثل القوائم ذات الأطوال العشوائية، والسجلات، والأنواع المختلطة، والبيانات المفقودة—باستخدام صيغ مألوفة مشابهة لـ NumPy.
### الميزات الرئيسية:
- **دعم البيانات غير المنتظمة**: تمكين المعالجة الفعالة للبيانات الشبيهة بـ JSON، والبيانات غير المتجانسة، والمصفوفات غير المنتظمة التي لا تستطيع مصفوفات NumPy القياسية التعامل معها بشكل أصلي.
- **واجهة برمجة مشابهة لـ NumPy**: توفير صيغة بديهية وتصريحية للتقطيع، والتصفية، وتحويل الهياكل المتداخلة المعقدة، مما يقلل من الكود البرمجي المتكرر في بايثون.
- **أداء عالٍ**: على الرغم من كونها ديناميكية الأنواع، إلا أن العمليات يتم تجميعها وتحسينها، مما يوفر تسريعًا كبيرًا (غالبًا من 10 إلى 100 مرة أسرع) وتقليلًا في استهلاك الذاكرة مقارنة بحلقات بايثون النقية. تتكامل بسلاسة مع Numba للتجميع في الوقت المناسب.
- **سهولة التثبيت**: متاحة على PyPI و conda-forge كحزمة بايثون نقية مع تبعيات C++ مُجمّعة اختيارية (`awkward-cpp`) لتحقيق أقصى أداء عبر المنصات.
### الأداء:
في الاختبارات المعيارية التي تتضمن مجموعات بيانات كبيرة ومتداخلة، تُكمل Awkward Array العمليات في ثوانٍ باستخدام جزء بسيط من الذاكرة المطلوبة من قبل تطبيقات بايثون الأصلية المكافئة، مما يجعلها مثالية لفيزياء الطاقة العالية، والحوسبة العلمية، وخطوط أنابيب التعلم الآلي واسعة النطاق.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.