مكتبات البايثون لتحليل البيانات (١)
انظر إلى المقارنة بين مكتبة بانداس ومكتبة نمباي. إذا أردت التعامل مع جدول بيانات يشبه ورقة إكسل بصفوف وأعمدة، فأنت تستخدم مكتبة بانداس. أما إذا أردت إجراء حسابات عددية بحتة على مصفوفات سريعة، فاستخدم نمباي. الآن، لتحويل قائمة عادية في لغة بايثون إلى كائن متسلسلة، عليك استدعاء مكتبة بانداس أولاً بكتابة import pandas as pd، ثم تستخدم الأمر s = pd.Series(myList). انظر إلى الناتج: الأرقام تظهر مرتبة تحت بعضها، وعلى يسارها الفهرس من صفر إلى ثلاثة عشر، وفي الأسفل يظهر اسم المتسلسلة Numbers ونوع البيانات int64.
مكتبة بانداس هي أداة بايثون لتحليل البيانات عبر نوعين أساسيين: المتسلسلة وهي مصفوفة أحادية البعد، وإطار البيانات وهو هيكل ثنائي الأبعاد يشبه جدول إكسل. تعتمد الفكرة على تنظيم البيانات لتسهيل قراءتها ومعالجتها. لاستخدام المكتبة، تكتب أمر الاستيراد ثم تنشئ الكائن المطلوب. مثلا، لتحويل قائمة أرقام إلى متسلسلة تكتب s = pd.Series(myList)، ثم تستخدم سمات مثل s.size لمعرفة حجمها، أو وظائف الفهرسة مثل s.head(2) لاستعراض أول عنصرين فيها بكل سهولة.
الفكرة الأساسية
مكتبة بانداس هي أداتك البرمجية للتعامل مع البيانات وتنظيمها في لغة بايثون. بدل أن تبحث يدويا بين آلاف الأرقام، تمنحك هذه المكتبة نوعين رئيسيين من الكائنات: المتسلسلة وهي مصفوفة أحادية البعد تحمل أي نوع من البيانات، وإطار البيانات وهو جدول ثنائي الأبعاد يشبه تماما ورقة عمل إكسل.
الشرح
لكي تستخدم هذه المكتبة، عليك أولا كتابة أمر الاستيراد في بداية مقطعك البرمجي عبر العبارة import pandas as pd، وفي مفكرة جوبيتر يكفي أن تستوردها مرة واحدة في البداية. المتسلسلة (Series) تحمل بيانات متسلسلة مثل عمود واحد من الأرقام أو النصوص، بينما إطار البيانات (DataFrame) يتعامل مع آلاف الصفوف والأعمدة ويمكنه استيراد ملفات إكسل أو ملفات سي إس في. للتعرف على محتوى الكائن أو الجدول، تستخدم السمات والوظائف؛ فالسمة هي قيمة مرتبطة بالكائن ويشير إليها بالاسم باستخدام نقطة مثل s.size لمعرفة الحجم، أو s.name لمعرفة الاسم، بينما الوظائف تحتاج إلى أقواس مثل s.head(2) لارجاع العناصر الأولى من الكائن، أو s.value_counts() لارجاع القيم الفريدة وعدد مرات تكرارها. الفهرسة تعني قائمة الأعداد أو التسميات التي تستخدم لتحديد الصفوف والأعمدة بشكل فريد.
مثال محلول خطوة بخطوة
لو كانت لديك قائمة أرقام تريد تحويلها إلى متسلسلة ومعرفة حجمها وأول عنصرين فيها، فاتبع الآتي:
- استورد المكتبة: اكتب import pandas as pd.
- أنشئ المتسلسلة: اكتب s = pd.Series(myList, name='Numbers') لكي يصبح اسم المتسلسلة هو Numbers.
- اطبع المتسلسلة: اكتب print(s) لتظهر لك الأرقام مجدولة مع أرقام الفهارس من الصفر إلى النهاية، ويظهر في الأسفل اسم المتسلسلة ونوع البيانات وهو int64.
- احصل على الحجم: اكتب s.size ليعطيك الناتج الرقم الإجمالي للعناصر وليكن 14.
- اعرض أول صفين: اكتب s.head(2) ليعطيك العنصرين الأولين اللذين يحملان الفهرس صفر والفهرس واحد فقط.
أخطاء شائعة
- نسيان استيراد المكتبة في بداية العمل قبل محاولة استخدام أمر pd.Series أو pd.read_excel، مما يؤدي إلى ظهور خطأ برمجي.
- عدم وضع ملف الإكسل في نفس المجلد الموجود فيه ملف مفكرة جوبيتر عند محاولة قراءته باستخدام read_excel.
- كتابة أقواس السمات مثل s.size بدل كتابتها بدون أقواس مثل الدوال، أو نسيان الأقواس في الدوال مثل s.head().
سؤالان للتدريب مع الإجابة
السؤال الأول: ما الوظيفة التي تستخدمها لارجاع العناصر الخمسة الأولى افتراضيا من كائن متسلسلة أو إطار بيانات؟ الإجابة: وظيفة head(). السؤال الثاني: ماذا تسمى السمة التي ترجع أبعاد إطار البيانات (عدد الصفوف وعدد الأعمدة)؟ الإجابة: سمة shape.