Jupyter Notebook – الأداة التي لا يستغني عنها أي عالم ومُحلل بيانات بالبايثون
تُعد أداة Jupyter Notebook أحد أشهر وأهم الأدوات المُستخدمة أثناء تحليل البيانات. بالإضافة إلى ذلك، هي شيء أساسي لا يستغني عنها عالم البيانات، وذلك لما تُقدمه من مميزات وخصائص تُسهل من التعامل مع البيانات والشيفرة البرمجية. تُعتبر Jupyter أداة قوية يُمكن استخدامها تفاعليًا في مشاريع علم البيانات وتعليم الآلة.
أهلا بكم في مدونة بايثونات في هذا المقال الذي يشرح بالتفصيل كيفية التعامل مع أداة Jupyter Notebook. إذا لم تسمع من قبل بهذه الأداة، يُمكنك الإطلاع على المقال التعريفي الخاص بها عبر الرابط التالي: المفكرة التفاعلية في بايثون – Jupyter NoteBook
تثبيت Jupyter Notebook
قبل البدء بتثبيت أداة Jupyter لابد عليك تثبيت البايثون في جهاز الحاسوب الذي تعمل عليه. لمعرفة كيفية تثبيت البايثون يُمكنك الإطلاع على المقال التالي: لغة بايثون للمبتدئين – سلسلة بايثونات لتعلم البايثون.
يتطلب تثبيت الأداة أن تكون نُسخة البايثون التي لديك هي 3.3 فما فوق أو بايثون 2.7، لذا تأكد من هذه النقطة قبل البدء. يُمكن لنا تثبيت الأداة باستخدام مُدير الحِزم والمكتبات في بايثون pip. يُفضل أن نتأكد من تحديث pip في البداية:
ثم بعد ذلك نُنفذ أمر تثبيت أداة Jupyter كما يلي:
تثبيت الأداة من خلال Anaconda
اذا كنت من القادمين الجُدد للبايثون أو تحليل البيانات وتُريد التعرف على أداة Jupyter وتثبيتها، قد تُواجه صعوبة تثبيت الأداة. لذلك، ننصح باستخدام Anaconda والتي تُعتبر توزيعة بايثون متخصصة في مجال علم البيانات وتعليم الألة. كُل ما عليك فعله هو تحميل نُسخة Anaconda وتثبيتها على جهازك، وبذلك تكون أداة Jupyter قد ثُبتت لديك.
إقرأ أيضًا: بايثون اناكوندا – أسهل الطُرق لتثبيت المكتبات العلمية في البايثون
تشغيل Jupyter
يُمكن تشغيل الأداة في نظام Windows عبر قائمة إبدأ بكتابة اسم الأداة، حيث ستظهر في القائمة:
عند تشغيل الأداة، سيتم تشغيل المتصفح لديك والذهاب للرابط http://localhost:8888/tree والذي يعني أن الأداة يتم تشغيلها عبر جهازك الحاسوب محليًا. ستظهر نافذة مُشابهة للتالي:
النافذة في الصورة السابقة هي لوحة تحكم أداة Jupyter والتي من خلالها يُمكننا إنشاء مستندات والتعامل معها. من المهم أن نعرف أن الأداة تُتيح لنا التعامل مع الملفات والمُجلدات الموجودة في المسار التشغيلي للأداة Start-Up directory عند تشغيلها بالطريقة السابقة.
في العادة سنقوم بتشغيل الأداة في مجلد العمل الخاص بنا والذي في الغالب يختلف عن المسار التشغيلي التلقائي للأداة. يتم ذلك من خلال الذهاب لمسار المجلد الذي نُريد العمل فيه وتنفيذ أمر التشغيل:
إنشاء مُستند Jupyter
تُعتبر أداة Jupyter والمستندات التي يتم انشاءها باستخدامها عبارة عن صفحات انترنت يتم تشغيلها عبر البايثون. هذا الأمر يُتيح تعامل أسهل وأكثر مرونة مع المستندات ومشاركتها. لإنشاء مستند جديد، نضغط على زر New وستظهر لنا قائمة، نختار منها Python 3:
ستظهر صفحة جديدة عبارة عن المستند الذي سنكتب فيه الشيفرة البرمجية وعمليات تحليل البيانات كما في الصورة التالية، وسيكون المستند باسم Untitled.ipynb:
نلاحظ أن الخلية الأولى في المُستند مُحاطة بإطار لونه أخضر، وهذا يعني أن الخلية الحالية جاهزة لإدخال الشيفرة بداخلها، وهي في وضع التحرير Edit Mode.
الامتداد الخاص بمستند جوبيتر هو ipynb واسم الامتداد هو اختصار Interactive Python Notebook. من المهم أن نعرف هنا أن المستند عبارة عن ملف نصي يحتوي تفاصيل ومكونات المستند مكتوبةً بصيغة Json، لذا يُمكنك التعديل على النص مباشرةً (اذا كنت تعرف ما تقوم به) وذلك عن طريق فتح الملف بأي برنامج نصي، ولكن لا ننصحك بذلك.
الان يتواجد أمامك مستند Jupyter مفتوح وجاهز للبدء بالعمل عليه. تستطيع أخذ جولة على القوائم الموجودة والتعرف على ما يُمكن إجراءه بالاضافة إلى مجموعة الأوامر المختصرة عبر لوجة المفاتيح. لإظهار قائمة الأوامر المختصرة يُمكنك الضغط على أيقونة لوحة المفاتيخ الصغيرة أو الضغط على Ctrl + Shift + P:
عند البدء بالعمل على المستند، سنُدخل الشيفرة البرمجية بداخل خلايا Cells. الخلايا في مستند Jupyter عبارة عن حاويات لحفظ الشيفرات البرمجية بداخلها، وعند طلب تنفيذ الشيفرة، ستتولى ما يُسمى بـ Kernel مهمة تنفيذ الشيفرة البرمجية. Kernel عبارة عن المُحرك الخاص بالمستند والذي يقوم باستقبال الشيفرات البرمجية وتنفيذها ثم إعادة النتيجة للخلايا.
الخلايا في مستند Jupyter
تُعتبر الخلية في مستند Jupyter وحدة البناء فيه. يُوجد نوعين من الخلايا وهما:
- خلية كود: وهي خلية يُمكن إدخال شيفرة برمجية فيها.
- خلية ماركداون: وهي خلية تحتوي نص مكتوب بصيغة Mark down تُظهر النص مباشرةً بمجرد تنفيذ الخلية.
تكون الخلية الأولى في المستند عند انشاءه من نوع “خلية كود”. نكتب الشيفرة البرمجية مباشرة في الخلية، وليكن المثال الدائم في كل لغة Hello World. لتنفيذ الشيفرة البرمجية التي بداخل الخلية نضغط على زِر التنفيذ Run الموجود في الأعلى أو Shift+Enter في نظام الوندوز:
استخدام Shift+Enter سيعمل على تنفيذ الخلية والذهاب للخلية التي تليها، بينما Ctrl+Enter سيعمل على تنفيذ الخلية وجعل الخلية في وضع الأوامر دون الانتقال للخلية التي تليها.
عند تنفيذ الخلية سيظهر الناتج Output الخاص بها أسفلها مُياشرة، وسيكون هذا الناتج جزء من مُحتوى المستند. نُلاحظ أنه قبل تنفيذ الخلية يكون النص الذي يسبق الخلية [ ] In وبعد تنفيذها يُصبح [1] In. وُجود هذا النص يُحدد اذا كانت الخلية هي خلية كود ام ماركداون. يُمكن تبديل نوع الخلية من خلية كود إلى خلية ماركداون أو العكس من خلال اختيار النوع من القائمة المنسدلة الموجودة في شريط الأدوات بالأعلى، أو من خلال الأمر المُختصر.
الرقم الموجود في [1] In يُمثل الترتيب الذي تم تنفيذ الخلية به داخل Kernel. عند تنفيذ الخلية الثانية، سيكون النص المقابل لها هو [2] In. بعض الخلايا تحتاج وقت عند تنفيذ الشيفرات البرمجية التي بها، وخلال تنفيذ الشيفرة، سيكون النص المقابل للخلية بالشكل التالي: [*] In.
تنفيذ الأوامر المختصرة
يتم تنفيذ الأوامر المختصرة في الخلية عندما تكون في وضع الأوامر Command mode. يتم تفعيل وضع الأوامر بعد تنفيذ الشيفرة البرمجية من خلال أمر Ctrl+Enter، أو من خلال الضغط بالفأرة على الصندوق المحيط للخلية. سيكون لون إطار الخلية في وضعية الأوامر باللون الأزرق:
هنا تجد قائمة بأهم الأوامر المُختصرة التي يُمكنك تنفيذها في مستند jupyter:
[spbtbl_sc id=10]
Kernel في مستند Jupyter
كُل مستند Jupyter له Kernel خاصة به، وتكون مسؤولة عن جميع الخلايا الموجودة فيه. عند تعريف مُتغير ما في أحد الخلايا، سيكون مُتاحا الوصول لقيمته والتغيير عليها من جميع الخلايا الأخرى في المُستند.
العمل في مستند jupyter يكون من الأعلى إلى الأسفل، ولكن قد تحتاج للعودة إلى خلية ما في الأعلى والتعديل عليها وتنفيذها مرة أخرى. في هذه الحالة، سيتغير ترتيب الأرقام في [ ] In وتكون غير منطقية. تُقدم أداة Jupyter عدة خيارات لإعادة تشغيل Kernel:
- إعادة التشغيل Restart: وفيها يتم مسح المتغيرات التي تم تعريفها في المستند.
- إعادة التشغيل وحذف المُخرجات Restart and Clear Output: نفس الأمر السابق مع حذف جميع المخرجات لكل الخلايا.
- إعادة التشغيل وتنفيذ الخلايا Restart and Run All: نفس الأوامر السابقة مع تنفيذ الخلايا من الأعلى إلى الأسفل.
خلايا ماركداون في Jupyter
رموز التنسيق ماركداون هي لغة ترميز بسيطة، أنشأها جون غروبر، تسمح بكتابة محتوى نصي بسيط يتميز بسهولة الكتابة والقراءة، ثم تحويله إلى لغة HTML. تقدم أداة Jupyter خيار تضمين خلايا بصيغة ماركداون، وذلك يعني الكثير من خيارات التنسيق التي ستستاعدك في إظهار النصوص والمعلومات بطريقة جذابة وواضحة. يجب عليك تحويل الخلية إلى نوع خلية ماركدوان قبل كتابة النصوص بهذا الترميز.
لإضافة عنوان عريض (مستوى 1) نبدأ النص بعلامة # ثم مسافة:
يُمكن كتابة نصوص بشكل مباشر في خلال ماركداون. لإضافة تنسيق Bold نكتب الكلمات التي نريد إضافة التنسيق لها بين نجمتين على اليمين واليسار، ولإضافة تنسيق Italic نستخدم نجمة واحدة كما هو مُوضح في الصورة التالية:
لمزيد من التنسيقات ولمعرفة كيفية كتابة النصوص من خلال تنسيق ماركدوان يُمكنكم زيارة الرابط التالي: أساسيات لغة ماركداون Markdown
مثال مستند Jupyter
في بايثونات، أعددنا بعض المقالات (وسنُعد في المستقبل ان شاء الله) التي تتضمن أمثلة واستخدامات لمستند Jupyter. يُمكنك الإطلاع على المقالات التالية والتي يُمكنك تنفيذ ما بها بداخل مستند Jupyter:
- المفكرة التفاعلية في بايثون – Jupyter NoteBook
- مكتبة Matplotlib – الخطوة الثالثة في علم البيانات بالبايثون
- تحليل البيانات باستخدام بايثون – سجلات الوفيات والاصابات بفيروس كورونا كمثال
بذلك نكون انتهينا من شرح أداة Jupyter Notebook وأهم الأوامر التي يُمكن استخدامها من خلال الأداة. نتمنى أن نكون وُفقنا في إيصال المعلومة بالشكل الصحيح حول الموضوع ونسعد بأي ملاحظة في التعليقات. كما نتمنى منكم مشاركة مقالات بايثونات في منصات التواصل الاجتماعي مثل تويتر وفيسبوك حتى تعم الفائدة.
شكرا استاذ
[…] محمد على Jupyter Notebook – الأداة التي لا يستغني عنها أي عالم ومُحلل… […]
وينك ياشيخ ابراهيم ادور عليك من زمان
الله يسعدك ويبارك فيك اتقنت فابدعت
أهلًا بكم، ويُشرفنا مروركم الكريم
شكرا لك ، مقاله مفيده جدا