تفاصيل العمل

دمج البيانات والتنظيف الأولي

يقوم السكريبت أولاً بتحميل خمسة ملفات CSV منفصلة، تمثل بيانات الاستلام من مدن مختلفة، في هياكل بيانات (DataFrames) منفصلة باستخدام مكتبة pandas. بعد ذلك، يتم دمجها في DataFrame واحد يسمى merged_df. تعد هذه خطوة حاسمة لتوحيد جميع البيانات في مكان واحد لمعالجتها بشكل موحد. أخيرًا، يقوم بإزالة أي صفوف مكررة لضمان تفرد وسلامة مجموعة البيانات.

تحويل وتوحيد صيغة التاريخ والوقت

تركز هذه الخطوة على تجهيز البيانات الزمنية للتحليل. يقوم الكود بتحويل عمودي pickup_time و pickup_gps_time إلى كائنات تاريخ ووقت (datetime objects) صحيحة. يضيف عامًا مبدئيًا ("-2024") لأن البيانات الأصلية على الأرجح كانت تفتقر إليه. بعد التحويل، يقوم بتحديد المنطقة الزمنية إلى (Asia/Shanghai) ثم يوحد كلا العمودين الزمنيين عن طريق تحويلهما إلى التوقيت العالمي المنسق (UTC). يضمن هذا أن تكون جميع البيانات الزمنية متسقة، وهو أمر بالغ الأهمية لأي تحليل للسلاسل الزمنية.

معالجة وإكمال البيانات المفقودة

يتعامل السكريبت مع مشكلة القيم المفقودة، والتي تكون شائعة في مجموعات البيانات الواقعية، ويتبع استراتيجية من جزأين:

إزالة الصفوف بناءً على عتبة محددة: أولاً، يقوم بإزالة الصفوف التي تحتوي على عدد من القيم المفقودة يتجاوز حدًا معينًا (في هذه الحالة، 5). تعتبر هذه طريقة سريعة للتخلص من البيانات ذات الجودة المنخفضة.

إكمال البيانات بالملء الأمامي (Forward-Fill): بعد ذلك، يستخدم طريقة ffill (الملء الأمامي) لملء القيم المفقودة في أعمدة وقت الـ GPS وخطوط الطول والعرض. تقوم هذه الطريقة باستبدال القيمة المفقودة بآخر قيمة صالحة سابقة لها، وهي تقنية شائعة للتعامل مع بيانات السلاسل الزمنية.

هندسة الميزات والتجميع (Feature Engineering and Aggregation)

في هذه المرحلة، يقوم الكود بإنشاء ميزات (features) جديدة وقيمة من البيانات الحالية لتحسين فائدتها التحليلية. يستخرج الساعة ويوم الأسبوع من عمود pickup_time، ثم ينشئ أعمدة ثنائية (binary) جديدة (is_weekend و is_rush_hour) تشير إلى ما إذا كان الحدث قد وقع خلال فترة زمنية محددة. يقوم الكود أيضًا بتجميع البيانات لحساب عدد الطرود التي تم استلامها يوميًا لكل مندوب، مما يوفر جدولًا ملخصًا جديدًا لتحليل الأداء.

تخزين البيانات

الخطوة الأخيرة هي حفظ DataFrame النظيف والمُحسَّن في ملف CSV جديد باسم cleaned_data.csv. هذا يجعل البيانات المعالجة جاهزة لمزيد من التحليل أو تدريب نماذج التعلم الآلي أو التصور البياني دون الحاجة إلى إعادة تشغيل سكريبت التنظيف بأكمله.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
2
تاريخ الإضافة
المهارات