dask
توسع pandas و NumPy باستخدام الحوسبة الموزعة من Dask
متاح أيضًا من: davila7
عالج مجموعات البيانات أكبر من ذاكرة الوصول العشوائي المتاحة باستخدام الحوسبة المتوازية. حول سير عمل pandas و NumPy لآلة واحدة للتشغيل عبر نوى متعددة أو مجموعات موزعة دون إعادة كتابة الكود.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "dask". كيف أقرأ ملفات CSV متعددة وأدمجها في Dask DataFrame واحد؟
النتيجة المتوقعة:
- استخدم dd.read_csv مع نمط glob لقراءة ملفات متعددة: ddf = dd.read_csv('data/2024-*.csv')
- دالة read_csv كسولة - تبني رسم بياني للمهام دون تحميل البيانات
- بعد الجمع، قم بإجراء عمليات مثل groupby والتجميعات بشكل كسول
- استدعي .compute() فقط عندما تحتاج إلى النتائج النهائية
استخدام "dask". متى يجب أن أستخدم Dask Arrays مقابل Dask DataFrames؟
النتيجة المتوقعة:
- استخدم Arrays للبيانات الرقمية التي تناسب عمليات NumPy - الحوسبة العلمية، معالجة الصور، عمليات المصفوفات
- استخدم DataFrames للبيانات الجدولية مع الأعمدة المسماة - عمليات تشبه قواعد البيانات، معالجة CSV، البيانات المهيكلة
- Bags تتعامل مع البيانات غير المهيكلة مثل النص وJSON قبل التحويل إلى Arrays أو DataFrames
- Futures تعطي تحكماً دقيقاً لسير عمل متوازي ديناميكي وتفاعلي
استخدام "dask". كيف أتجنب أخطاء الذاكرة مع Dask؟
النتيجة المتوقعة:
- اختر أحجام مقسمة من حوالي 100 ميغابايت لكل مقطع أو 10 مقاطع لكل نواة
- لا تقم أبداً بتحميل البيانات إلى pandas أولاً ثم التحويل - استخدم قراء Dask مباشرة
- تجنب استدعاء .compute() بشكل متكرر في الحلقات - استخدم dask.compute() للحصول على نتائج متعددة دفعة واحدة
- استخدم لوحة المعلومات لمراقبة استخدام الذاكرة وتحديد المهام الإشكالية
التدقيق الأمني
آمنPure documentation skill with no executable code. All 448 static findings are false positives. The analyzer misinterpreted markdown inline code formatting (backticks like `dask.compute()`) as shell execution, and flagged legitimate computing terms like 'md5', 'command', 'control', 'connect' as security threats. This is standard Dask library documentation teaching parallel computing patterns.
عوامل الخطر
⚙️ الأوامر الخارجية (3)
📁 الوصول إلى نظام الملفات (1)
🌐 الوصول إلى الشبكة (1)
درجة الجودة
ماذا يمكنك بناءه
توسع سير عمل pandas
حوّل كود pandas للتعامل مع مجموعات البيانات أكبر من ذاكرة الوصول العشوائي عن طريق تبديل الاستيراد واستخدام Dask DataFrames مع تغييرات قليلة في الكود.
النموذج المتوازي التدريب
وزّع معالجة البيانات واستدلال النماذج عبر عمال متعددين باستخدام Dask Futures لمسوح المعاملات الفائقة.
معالجة المصفوفات الكبيرة
اعمل مع مجموعات البيانات العلمية من ملفات HDF5 أو Zarr التي تتجاوز الذاكرة باستخدام Dask Arrays مع عمليات مقسمة.
جرّب هذه الموجهات
أظهر لي كيفية تحويل كود pandas DataFrame الخاص بي لاستخدام Dask لمجموعات البيانات التي تتجاوز ذاكرة الوصول العشوائي، بما في ذلك قراءة ملفات CSV متعددة وإجراء عمليات groupby.
اشرح كيفية إنشاء ومعالجة Dask Arrays من ملفات HDF5 أو Zarr مع أحجام مقسمة مثالية، بما في ذلك كيفية اختيار أحجام المقاطع وإجراء عمليات الاختزال.
وضح كيفية استخدام Dask Futures لتقديم المهام الديناميكية، بما في ذلك إعداد مجموعة محلية، ونشر البيانات الكبيرة، وجمع النتائج من المهام التابعة.
ساعدني في تحسين سير عملي في Dask - أريد فهم كيفية اختيار المجدول المناسب، وتحديد الاختناقات باستخدام لوحة المعلومات، وإصلاح مشكلات الذاكرة من حجم المقاطع غير الصحيح.
أفضل الممارسات
- دع Dask يتعامل مع تحميل البيانات من البداية - تجنب إنشاء كائنات pandas محلياً قبل التحويل إلى مجموعات Dask
- استهدف أحجام مقسمة 100 ميغابايت و10 مقاطع لكل نواة عاملة للتوازي المتوازن واستخدام الذاكرة
- استخدم map_partitions أو map_blocks لصهر عمليات متعددة في مهام واحدة وتقليل الحمل الجدولي
تجنب
- استدعاء .compute() داخل الحلقات ينشئ رسوم بيانية مهام منفصلة لكل تكرار - استخدم dask.compute(*computations) بدلاً من ذلك
- تحميل مجموعات البيانات بأكملها إلى pandas قبل تسليمها لـ Dask defeats defeats الغرض - استخدم قراء Dask مباشرة
- استخدام المجدول المؤشر العمليات للكود النقي Python (معالجة النص، الوظائف المخصصة) - انتقل إلى العمليات لتجنب contention GIL