إتقان الباندا: وظائف الباندا المهمة لمشروعك التالي

نشرت: 2020-11-30

كانت مكتبة Pandas مفضلة دائمًا لجميع علماء البيانات أو المحللين نظرًا لطبيعتها سهلة الاستخدام ، ومجموعة كبيرة من الوظائف ، وتفسير أفضل للنتائج. يُنصح أي فرد يبدأ رحلة علوم البيانات الخاصة به أن يكون لديه سيطرة جيدة على الباندا ، وأن يأتي بخطوط أنابيب لتقليل الجهد اليدوي لتنظيف البيانات ومعالجتها مسبقًا.

تم بناء Pandas على Numpy مما يسمح بتنفيذ أسرع للأوامر وإنجاز العمل في وقت أقل. في هذه المقالة ، سوف نشارك بعض وظائف الباندا التي تم الاستخفاف بها والتي يمكن أن تثري جودة كود مشروعك.

قبل المضي قدمًا ، إليك أسطورة سريعة:

  • تفترض جميع الأوامر المذكورة أن إطار البيانات يسمى 'df' وهو كائن من pd.DataFrame ()
  • تم استيراد مكتبة Pandas كاسم مستعار كـ "pd".

جدول المحتويات

موصلات سلسلة

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

  • للوصول إلى بيانات نوع السلسلة ، استخدم الموصل "str". على سبيل المثال ، df ['اسم_العمود "]. str
  • هذا يجعل من الممكن القيام بجميع عمليات السلسلة على العمود المحدد.
  • تتضمن بعض العمليات الشائعة ،
    • df ['اسم_العمود']. str.len (): طول كل سلسلة
    • .str.split (): تقسيم عند حرف معين
    • .str.contains (): إرجاع T / F حول ما إذا كانت الكلمة المعينة موجودة في السلسلة
    • .str.count (): إرجاع عدد الصفوف التي تتوافق مع التعبير العادي الذي تم تمريره.
    • .str.findall (): إرجاع النتائج التي تطابق التعبير الذي تم تمريره.
    • .str.replace (): مثل findall ولكن هنا يتم استبدال العناصر المتطابقة
    • يتم دعم جميع عمليات السلسلة مثل .title و .isalpha و .isalnum و .isdecimal وما إلى ذلك.

اقرأ أيضًا: Pandas Dataframe Astype

موصّلات التاريخ والوقت

توجد التواريخ والوقت بشكل شائع في مجموعات البيانات في شكل طوابع زمنية أو وقت البدء أو وقت الانتهاء أو أي توقيت آخر مرتبط بهذا الحدث. من المفيد تحليل هذه البيانات بشكل صحيح لأنها تعطي اتجاهات على طول مخطط زمني يمكن وضعها للتنبؤ بالأحداث المستقبلية أو نسميها نقتبس كتحليل السلاسل الزمنية. دعنا نرى بعض الأوامر المفيدة:

  • للوصول إلى بيانات DateTime ، قم بتحويل نوع البيانات الحالي (يتم تحليل قيم التاريخ كسلسلة أو كائن) إلى DateTime باستخدام الدالة pd.to_datetime ().
  • الآن ، باستخدام الموصّل ".dt" ، يمكننا الوصول إلى أي معلومات DateTime مطلوبة مثل:
    • df ['column_name']. dt.day: إرجاع يوم التاريخ.
    • .dt.time: الوقت
    • .dt.year: سنة التاريخ
    • .dt.month: شهر التاريخ
    • .dt.weekday: سواء كان يوم الأحد أو الاثنين ... في الصورة الرقمية حيث يمثل 0 يوم الإثنين. إذا كنت تريد أسماء الأيام ، فاستخدم .dt.day_name
    • .dt.is_month_start: إرجاع T / F بناءً على ما إذا كان التاريخ هو الأول من الشهر.
    • .dt.is_month_end نفس وظائف month_start ولكن هنا يتم التحقق من آخر تاريخ في الشهر.
    • .dt.quater: إرجاع ربع السنة الذي يقع فيه التاريخ
    • .dt.is_quater_start: إرجاع T / F ما إذا كان التاريخ هو اليوم الأول من ربع السنة
    • .dt.is_quater_end: ما إذا كان هذا هو اليوم الأخير من ربع السنة
    • .dt.normalize: عندما لا يضيف عنصر الوقت مساهمة قيمة إلى التحليل ، يمكن تجاهله. يختتم هذا الأمر الوقت حتى منتصف الليل ، أي 00:00:00.

التآمر الباندا

يعد التخطيط المرئي أحد المكونات الرئيسية لتحليل البيانات ويلعب دورًا رئيسيًا أثناء أداء هندسة الميزات. على سبيل المثال ، يمكن اكتشاف القيم المتطرفة في مجموعة البيانات باستخدام مخططات الصندوق التي تمثل النطاق المتوسط ​​والربعي ، مع ترك القيم المتطرفة في الأطراف القصوى.

يتم التخطيط في الغالب عبر مكتبات أخرى مثل seaborn و plotly و bokeh و matplotlib ، ولكن عندما تريد تصور البيانات على الفور دون تحديد المكتبات بشكل صريح؟ حصلت الباندا على الحل. باستخدام الدالة pd.plot () ، يمكنك رسم الرسوم البيانية التي يتم استدعاؤها داخليًا باستخدام matplotlib مباشرةً. الخيارات المختلفة المتاحة لهذا:

  • df.plot () أو df ['اسم_العمود']. plot () (حسب نوع الرسم البياني)
  • يحتوي df.plot () على معلمة "نوع" تحدد الرسم البياني. بشكل افتراضي ، تكون عبارة عن مخطط "خط" ولكن الخيارات الأخرى المتاحة هي "شريط" و "بار" و "مربع" و "هيست" و "كدي" وما إلى ذلك.
  • يستدعي matplotlib backend مما يعني أنه يمكننا الوصول إلى وسيطاته عبر موصّل "ax".
  • يمكن أن تأخذ وظيفة .plot () أيضًا وسيطات مثل 'title' و 'xticks' و 'xlim' و 'xlabel' و 'Fontize' و 'colormap' مما يلغي الحاجة إلى تعريف المكتبات الخارجية إلى حد ما.

وظائف متنوعة

  • pd.get_dummies (): أثناء المعالجة المسبقة للبيانات ، نواجه أحيانًا بيانات فئوية تحتاج إلى تحويلها إلى شكل رقمي لتزويدها بالنموذج. عندما تكون هذه الفئات منخفضة إلى حد ما ، يُفضل الترميز بنقرة واحدة ، ولكن القيام بذلك يدويًا يستغرق وقتًا طويلاً. لا تقوم وظيفة الدمى هذه بتحويل القيم فقط ، ولكن إذا تم تعيين drop_first على True ، فإنها تسقط العمود السابق الذي يحتوي على جميع الفئات.
  • df.query (): هي الوظيفة التي تسمح لك بتطبيق القناع الشرطي على إطار البيانات. يتمثل الاختلاف الأساسي بين هذا والتقنيع العادي في أن هذه الوظيفة تقوم بإرجاع القيم مباشرةً بدلاً من القناع المنطقي ، مما يقلل من جهد إنشاء القناع وتطبيقه على إطار البيانات.
  • df.select_dtypes (): نحتاج أحيانًا إلى أداء بعض المهام المحددة على نوع واحد من أنواع البيانات. على سبيل المثال ، أثناء قراءة البيانات من الملفات الخارجية ، يتم تعريف بعض أنواع البيانات على أنها كائنات. أثناء تنظيف البيانات ، يجب أن تحتوي مجموعة البيانات على جميع أنواع البيانات الصحيحة ، والقيام بذلك يدويًا عن طريق df.astype ("نوع البيانات") سيكون مملاً عندما يكون عدد أنواع البيانات هذه كبيرًا. تحدد هذه الوظيفة نوع البيانات المحدد ويمكن دمجه مع وظيفة .apply (). سيبدو نموذج التعليمات البرمجية بهذا الشكل:

df.select_dtypes (object) .apply (astype (str))

يجب أن تقرأ: أسئلة مقابلة الباندا

خاتمة

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

إذا كنت مهتمًا بالتعرف على Pandas ، فراجع IIIT-B & upGrad's دبلوم PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، 1-on -1 مع موجهين في المجال ، 400+ ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.