تنظيف البيانات في بايثون | ما هو تنظيف البيانات؟

عندما نتحدث عن العالم الحقيقي، فإن معظم البيانات التي نواجهها للتحليل هي بيانات أولية. هذه البيانات الأولية هي مزيج من الصفوف المتكررة والمفقودة والعديد من الصفوف غير ذات الصلة.
وبالتالي، إذا تم تمريره إلى نموذج، فإنه يؤدي إلى عدم الدقة أو التنبؤ غير الصحيح، مما يقودنا في النهاية إلى فهم أهمية تنظيف البيانات.
يعد تنظيف البيانات في لغة بايثون، والمعروف أيضًا باسم تنظيف البيانات، تقنية مهمة في بناء النماذج والتي تأتي بعد جمع البيانات. ويمكن القيام بذلك يدويًا في برنامج Excel أو عن طريق تشغيل برنامج.
لذلك، سنناقش في هذه المقالة ما يستلزمه تنظيف البيانات وكيف يمكنك تنظيف الضوضاء (الأوساخ) خطوة بخطوة باستخدام Python.
ما هو تنظيف البيانات؟
وفقًا لويكيبيديا، هي عملية اكتشاف وتصحيح السجلات الفاسدة أو غير الدقيقة من مجموعة سجلات أو جدول أو قاعدة بيانات وتشير إلى تحديد الأجزاء غير الكاملة، أو غير الصحيحة، أو غير الدقيقة، أو غير ذات الصلة من البيانات، ثم استبدالها أو تعديلها أو حذفها. البيانات القذرة أو الخشنة.
هذا التعريف كبير جدًا وبالتأكيد ليس من السهل فهمه. ولتسهيل الأمر يمكننا أن نرى مثالا. فكر في سيناريو حيث يكون صاحب مصنع منتجات الألبان مهتمًا بمعرفة المشترين المتكررين لزجاجات الحليب لزيادة قاعدة العملاء.
ولكن إذا كانت البيانات تالفة أو بها تشويش، فسيكون القرار مضللاً. في البيانات أدناه، أظهرنا مثالا.
من الشكل، يمكننا أن نوضح أن تنظيف البيانات هو أسلوب يساعد على تحويل البيانات غير الصحيحة إلى بيانات ذات معنى. باختصار، التعلم الآلي يعتمد على البيانات.
مع تنظيف البيانات، سيكون أداء نموذج التعلم الآلي الخاص بك أفضل. لذلك، من المهم معالجة البيانات قبل الاستخدام. وبدون بيانات عالية الجودة، فمن الحماقة أن نتوقع نتائج صحيحة.
اقرأ أيضًا: أهم تطبيقات التنقيب عن البيانات في الصناعات
كيفية إجراء تنظيف البيانات في بايثون؟
من أجل الفهم، دعونا نأخذ مثال الاستطلاع الذي يتعين على موظفي الموارد البشرية في الشركة تحديد موقع جميع موظفي المنطقة، والتأكد من أنهم آمنون في المنزل.
قبل ذلك، دعونا نفهم أنه لا توجد تقنيات قياسية لتنظيف البيانات. لا يمكن التعليق على أيهما أفضل. الجانب الوحيد الذي يجب مراعاته في طرق التنظيف يعتمد على طبيعة البيانات.
وهذا يساعدنا على اختيار التقنية التي يجب استخدامها.
وسوف نعود إلى المثال. لتبسيط الأمر، نحن ننظر إلى الحقول أدناه.
انظر إلى الطاولة بعناية. ستلاحظ أن بعض الحقول إما فارغة أو تحتوي على قيم غير ذات صلة. إذا قمنا بمعالجة مثل هذه البيانات، فإن توقعاتنا ستكون في ورطة. وبالتالي، سوف نقوم بتنفيذ الخطوات التالية لتنظيف البيانات.
- إزالة الصف المتكرر
- علاج القيمة المفقودة
- إزالة البيانات غير ذات الصلة
- خطأ يدوي أثناء الكتابة
- إعادة تسمية الأعمدة
أما بالنسبة لمعالجة البيانات، فإن خطوتنا الأولى ستكون قراءة البيانات في بايثون.

راقب جدول الإخراج بعناية، فهو نفس الجدول الذي كان لدينا في المقام الأول.
الحزمتان المهمتان اللتان استوردناهما هما Panda و Numpy. هذه ضرورية لتشغيل كود بايثون. والشيء المهم التالي هو الاختصارات التي اعتمدناها كممارسة جيدة.
متغير الموظف المستخدم لتخزين البيانات المقروءة من ملف DataCleaning.csv المحفوظ في الموقع المذكور.
الأمر المستخدم لقراءة البيانات هو read_csv ويتم عرضه على الشاشة باستخدام الطباعة. بالنسبة للحقول التي تحتوي على قيمة مفقودة، قام النظام بملئها بـ NaN (ليس رقمًا).
إزالة القيم المتكررة
نحن نعلم أن هناك نسخًا مكررة في مجموعة البيانات ويجب إزالتها. يحتوي الصف 5 و7 على نفس بيانات الموظف.

يمكننا حذف الصف الأخير، والاحتفاظ بالصف الأول.

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

معالجة القيمة المفقودة
في الباندا، يتم تمثيل البيانات المفقودة بطريقتين. لا شيء أو NaN. في مجموعة البيانات الخاصة بنا، يتم التعرف على القيم المفقودة على أنها NaN. للتحقق من القيم المفقودة، استخدمنا الدالة is.null().

إخراج الأمر منطقي وهو صحيح بالنسبة لقيم NaN.

كما هو موضح في صورة الإخراج، يحتوي العمود رقم الجوال والمشروع والبريد الإلكتروني على قيم مفقودة.
يمكن ملء القيم المفقودة أو إسقاطها.
في مثالنا، نحن نعمل على بيانات الموظف لذا فإن ملؤها بأي قيمة سيكون غير مناسب.
وبالتالي، فقد قمنا بإسقاط القيم المفقودة.

يقوم الأمر dropna بإسقاط الصفوف/الأعمدة التي تحتوي على قيم فارغة على الأقل في ملف CSV.

كما هو موضح في جدول الإخراج، تتم إزالة القيم المفقودة من مجموعة البيانات.
إزالة البيانات غير ذات الصلة
في بعض الأحيان، لا تكون بعض الفئات/الأعمدة في مجموعة البيانات مفيدة. في حالتنا، اسم العمود والرقم التسلسلي ليسا مهمين. سيؤدي الاحتفاظ بها إلى استهلاك مساحة غير ضرورية واستهلاك الوقت.
يوفر Panda أمرًا سهلاً لإزالة العمود غير المرغوب فيه.

إذا قمنا بفحص البيانات فسنرى أنه تمت إزالة العمود بنجاح.

خطأ يدوي أثناء الكتابة
في هذه الخطوة، نحتاج إلى التأكد من أن البيانات تحتوي على قيم صحيحة كلما تم ذكر الفئات.
في حالتنا، يحتوي العمود Project على قيمتين محتملتين Client أو Internal. لكن المراقبة الدقيقة لجدول الإخراج يمكن أن تساعدنا في الإشارة إلى الصف 8 حيث لا تتبع القيمة الحالة المحتملة.
(أي ينبغي تصحيح الداخلي إلى داخلي).
في بايثون، يمكننا استبدال العمود بالقيمة المصححة.

إعادة تسمية الأعمدة
تحتوي مجموعة البيانات التي نعمل عليها على اسم عمود لا يتحدث عن أهمية البيانات التي تحتوي عليها.
وبالتالي، سوف نقوم بإضافة بعض التسميات المعقولة عن طريق إعادة تسمية الأعمدة.
يوضح الإخراج التغيير في اسم العمود.

خلاصة لتنظيف البيانات
في هذه المقالة، قمنا بمعالجة المعلومات غير الضرورية باستخدام خطوات مختلفة. لقد قمنا بإزالة الصفوف المكررة، وعالجنا القيم المفقودة، وحذفنا الأعمدة غير ذات الصلة، وقمنا بتصحيح الخطأ المطبعي.
وأخيرًا، تتحدث المقالة أيضًا عن إعادة تسمية الأعمدة.
إذا وجدت هذا الدليل حول تنظيف البيانات في Python مفيدًا وترغب في معرفة المزيد من هذه المفاهيم، انضم إلى الدورات التدريبية المجانية عبر الإنترنت التي تقدمها أكاديمية Great Learning Academy اليوم.
المصدر: mygreatlearning
شاهد المزيد: