جدول موجز
1. التنفيذ الكسول مقابل التنفيذ الفوري
pandas (فوري)
DataStore (كسول)
لماذا يُعدّ هذا مهمًا
- تحسين الاستعلام: تُحوَّل عمليات متعددة إلى استعلام SQL واحد
- تشذيب الأعمدة: لا تُقرأ إلا الأعمدة المطلوبة
- تمرير عوامل التصفية إلى المصدر: تُطبَّق عوامل التصفية عند المصدر
- كفاءة الذاكرة: لا تُحمِّل بيانات لا تحتاج إليها
2. أنواع القيم المُعادة
pandas
DataStore
التحويل إلى أنواع بيانات pandas
3. مشغّلات التنفيذ
العمليات التي تبقى كسولة
4. ترتيب الصفوف
pandas
DataStore
rowNumberInAllBlocks()) لضمان الحفاظ على اتساق الترتيب مع pandas.
عندما يُحفَظ الترتيب
- المصادر المعتمدة على الملفات (CSV وParquet وJSON وما إلى ذلك)
- مصادر pandas DataFrame
- عمليات التصفية
- اختيار الأعمدة
- بعد استخدام
sort()أوsort_values()صراحةً - العمليات التي تحدد الترتيب (
nlargest()وnsmallest()وhead()وtail())
عندما قد يختلف الترتيب
- بعد عمليات التجميع باستخدام
groupby()(استخدمsort_values()لضمان اتساق الترتيب) - بعد
merge()/join()مع بعض أنواع الربط - في وضع الأداء (
config.use_performance_mode()): لا يكون ترتيب الصفوف مضمونًا في أي عملية. راجع وضع الأداء.
5. عدم توفّر المعلمة inplace
pandas
DataStore
inplace=True غير مدعوم. أَسنِد النتيجة دائمًا:
لماذا لا يوجد inplace؟
- بناء الاستعلامات (التنفيذ الكسول)
- أمان الخيوط
- تصحيح الأخطاء بسهولة أكبر
- شيفرة أوضح
6. دعم الفهارس
pandas
DataStore
نوع مصدر DataStore مهم
- مصدر DataFrame: يحتفظ بفهرس pandas
- مصدر File: يستخدم فهرسًا عدديًا بسيطًا
7. سلوك عمليات المقارنة
مقارنةً بـ pandas
استخدام الدالة equals()
8. استنتاج النوع
pandas
DataStore
التحويل الصريح للنوع
9. نموذج الذاكرة
pandas
DataStore
10. رسائل الخطأ
مصادر الأخطاء المختلفة
- أخطاء pandas: صادرة من مكتبة pandas
- أخطاء DataStore: صادرة من chDB أو ClickHouse
نصائح لاستكشاف الأخطاء وإصلاحها
قائمة تحقق الترحيل
- غيّر تعليمة الاستيراد
- أزل المَعلمات
inplace=True - أضف استدعاء
to_df()بشكل صريح حيث تكون pandas DataFrame مطلوبة - أضف الفرز إذا كان ترتيب الصفوف مهمًا
- استخدم
to_pandas()في اختبارات المقارنة - اختبر بأحجام بيانات ممثلة للواقع