استخدام مكتبات Numpy, Pandas, Matplot الخاصة بلغة بايثون في تمثيل البيانات



السلام عليكم

عنوان الدرس/ استخدام مكتبات Numpy, Pandas, Matplot الخاصة بلغة بايثون في تمثيل ومعالجة البيانات
الموضوع/ Data Visualization
الاختصاص/ Data Science
المستوى/ المتوسط


الهدف من الدرس/

التعرف على المكتبات  Numpy, Pandas, Matplot وكيفية استخدامها من خلال تطبيق عملي .

ملاحظة/ سيتم استخدام المحرر المشهور jupyter في الأمثلة المقدمة في الشرح ويمكنك اسخدام أي محرر مفضل لديك .


البدء...


في البداية سنقوم بشرح بعض الأجزاء من نظام jupyter حيث يعتبر jupyter نظام متكامل ومن المشاريع الضخمة مفتوحة المصدر يتم من خلالها التكويد الكثير من لغات البرمجة مثل الباثون والجافا والماتلاب والروبي وغيرها (مشهور لدى مطوري لغة بايثون) ، والصورة أدناه توضح بيئة jupyter 




يمكن الضغط على الصورة للتكبير


يوفر jupyter مساحة عمل مناسبة للمبرمجين من خلال العديد من الخصائص التي تساعد المبرمج في كتاب الكود وتنفيذها ورؤية النتائج . ويمكنك الذهاب الى الموقع من خلال الرابط التالي:


* تنصيب jupyter//

نقوم بتنصيب Jupyter باستخدام حزمة pip ويفضل ان يكون آخر اصدار لذلك سنقوم بعمل تحديث لـ pip

- قم بفتح command window من خلال نافذة run كما في الصورة




بعد فتح نافذة cmd قم بكتابة الأمر التالي :


pip3 install --upgrade pip

سيقوم بعمل تحديث لحزمة pip .

- الان نقوم بتنصيب jupyter من خلال الامر التالي :


pip3 install jupyter

* بعد الانتهاء قم بكتابة الأمر التالي واضغط enter لغرض فتح نظام jupyter :


jupyter notebook

ستُفتح بيئة Jupyter كما موضح في الصورة التالية:



ملاحظة/ بالامكان تشغيل نظام Jupyter من خلال المتصفح الخاص بك من خلال الرابط : https://nbviewer.jupyter.org/


* لعمل مشروع جديد نضغط على ايقونة New ثم نختار python3 . الصورة أدناه توضح بعض الخصائص داخل النظام .




>> وهنا بعض مختصرات للتحكم على الخلية كالحذف والادخال والتغيير، ويمكنك التعديل على المختصرات أيضاً من خلال ايقونة Edit.




- قم بكتابة الكود التالي داخل الخلية واضغط Run او (ctrl+Enter) من الكيبورد



ستلاحظ الكود داخل الخلية  يخزن رقم [1] كمؤشر للخلية وبجنبه In للدلالة على الـ input او Out للدلالة على الـ output



لمعرفة المزيد من الميزات الخاصة بال Jupyter يمكنك الرجوع الى الـDocumentation الخاصة بالموقع من خلال الرابط 






الانتقال إلى صلب الموضوع ...


الآن ننتقل الى شرح المكتبات ونبدأ بـ


أولاً// المكتبة Numpy


تعتبر مكتبة Numpy من المكتبات المهمة في بايثون التي تستخدم في عمليات حسابية ومعالجة المصفوفات متعددة الاتجاه والدوال الرياضية المعقدة وهي مختصر لـ (numerical Python) حيث تتضمن دوال عديدة لاجراء عمليات على البيانات ومعالجتها واخراجها بالشكل المطلوب .

- نقوم بتنصيب مكتبة Numpy من خلال حزمة pip بكتابة الامر التالي في cmd

pip install numpy

وننتظر حتى يتم التنصيب بالكامل .

نذهب الى jupyter ونفتح مشروع جديد

- أولاً/ نستدعي المكتبة من خلال الامر import كالتالي:

import numpy as nm

ثم نقوم بكتابة الكود


>> تركيبة عمل ال numpy تكون كما في الصورة أدناه:



- نأخذ مثال بإنشاء مصفوفة ذات بعد واحد كما في الصورة 


ملاحظة// سيكون الكود على شكل صورة طول الشرح من أجل أن يقوم القارئ بتطبيق الكود بيديه ويتجنب النسخ واللصق.

- وهنا مصفوفة اخرى ذات بعدين كالتالي:





- وهنا مصفوفة واحدية


- وهذه طريقة عمل مصفوفة ذات عناصر متساوية = 5



- هنا نعلن عن مصفوفة جديدة نسميها c ونقوم بتغيير العنصر ذو موقع (2,2)

 

- في هذا المثال نقوم باستخدام دالة sum لاستخراج مجموع العناصر كما هو مبين في النتيجة:


هناك العديد من الدوال الخاصة لهذه المكتبة يمكن الرجوع اليها من خلال الموقع .

********************************


ثانياً// المكتبة Pandas

توفر مكتبة Pandas سرعة ومرونة التعامل مع البيانات وعمل هيكلية للبيانات باستخدام اطر عمل يدعم جدولة البيانات والعلاقات فيما بينها مما يسهل عملية تحليل واحصاء البيانات بشكل رائع .


* تنصيب مكتبة Pandas باستخدام حزمة pip

- إذهب إلى cmd واكتب الامر التالي:

pip install pandas

- إذهب إلى Jupyter وقم بفتح مشروع جديد واعمل import للمكتبة

Import pandas as pd


>> تستخدم مكتبة Pandas عدة طرق لجدولة البيانات منها :

1- Series : يستخدم لتمثيل المصفوفات ذات بعد واحد  ويكون الـsyntax كما مبين في الصورة :



حيث يستخدم ال Series ايعاز index لعنونة كل قيمة داخل المصفوفة .

- نأخذ المثال ونطبق الـ series لنرى النتيجة




هنا :

* أعلنا عن متغير data واسندنا اليه قيمة مصفوفة باستخدام مكتبة Numpy كما أخذنا مسبقاً 

أعلنا عن متغير اخر a واسندنا اليه قيمة الـindex لعنونة عناصر المصفوفة وسنرى ذلك في النتيجة


* باستخدام الـ Series قمنا باسناد الـ index لعناصر المصفوفة .

- ننفذ الكود لنرى النتيجة كالتالي: 





2- DataFrame: يستخدم لتمثيل المصفوفات ذات بعدين ويكون الـsyntax كما مبين في الصورة :

- نأخذ المثال ونطبق الـ DataFrame

هنا:

* استخدمنا متغير data1 وهو عبارة عن Dictionary يحتوي على العنصر وقيمته .

* قمنا بانشاء اوبجكت من DataFrame واسناذه لمتغير c حيث يتمضن العنوان index وعناوين الأعمدة .

- ننفذ الكود ونلاحظ النتيجة كالتالي:


رائع!

وأيضا يمكننا استخراج جزء من المصفوفة كالتالي:


ويمكن أيضاً استخراج عمود واحد فقط كالتالي:



********************************


ثانياً// المكتبة Matplot

تعتبر مكتبة Matplot من المكتبات الضخمة والمشهورة جداً في عالم البايثون حيث تستخدم بشكل واسع في نمذجة وتمثيل البيانات وتوفر بيئات تفاعلية ومخططات تجعل البيانات من السهل احصائها او تحليلها او تمثيلها .




* تنصيب مكتبة Matplot باستخدام حزمة pip

- إذهب إلى cmd واكتب الامر التالي:

pip install matplot

- إذهب إلى Jupyter وقم بفتح مشروع جديد واعمل import للمكتبة

import matplotlib.pyplot as plt


* تحتوي مكتبة Matplot العديد من الدوال للرسم سأحاول ان أتطرق لمجموعة منها.

>> نأخذ المثال كما في الصورة ونوضحه بعدها 



- في هذا المثال قمنا باستدعاء مكتبة Matplot على اوبجكت plt وأيضا قمنا بإعلان عن متغير x على شكل مصفوفة باستخدام مكتبة numpy 

- ثم استخدمنا دالة plot  لرسم الدالة .
- تستخدم دالة show لعرض الشكل . 

كم هو سهل ^__^ .


* سنضيف عناوين الى الاحداثيات xوy  باستخدام xlable و ylabel وكذلك عنوان للشكل باستخدام title كما في الصورة أدناه:


مثال آخر نستخدم فيه اللون والشكل :


* هنا قمنا برسم منحني عدد 2 

- المنحني الأول z^2 : يأخذ اللون الازرق والشكل المربع باستخدام 'bs'
- المنحني الأول z^3 : يأخذ اللون الأخضروالشكل ^ باستخدام '^g'



- يمكن تقسيم الشكل الى عدة plot باستخدام figure و  subplot كالتالي:


هنا استخدمنا ( plt.grid(True  لعرض شبكة خلف المنحني .

وأيضاً نوع آخر من المخطط pie chart



,وهناك الكثير من المخططات والدوال لا يمكن حصر جميعها في هذه المقالة 
لكن يمكن الرجوع اليها من خلال الموقع الخاص بالمكتبة على الرابط التالي 



أتمنى انك استفدت من هذا الدرس ويبقى عليك التمرين والتطبيق لمزيد من الامثلة 

😊enjoy 


تعليقات

المشاركات الشائعة من هذه المدونة

بناء نظام انترنت الاشياء باستخدام محاكي Packet Tracer المقدم من شركة سيسكو العالمية

تعلم Firebase cloud function