برنامه‌نویسی

ترفندهایی برای استفاده از Jupyter Notebook


۳۱ خرداد ۱۴۰۰
ترفندهایی برای استفاده از jupyter notebook

Jupyter یک برنامه‌ی وب متن باز است که با استفاده از کرنل IPython، قابلیت‌های زیادی را در اختیار برنامه‌نویسان قرار می‌دهد. حال ما در این مقاله قصد داریم به برخی ترفندهای بسیار کاربردی در Jupyter Notebook بپردازیم که می‌تواند در استفاده‌ی بهتر شما از این ابزار بسیار تاثیرگذار باشد. البته بیایید اول از همه این ابزار را نصب کنیم.

نصب Jupyter Notebook

در ابتدا برای نصب Jupyter Notebook باید اطمینان حاصل کنید که Python بر روی سیستم‌عامل فعلی شما نصب باشد، در غیر این صورت توصیه می‌شود مقاله‌ی آموزش نصب Python را مطالعه و Python را نصب کنید تا در کنار آن، pip که Package Manager این زبان برنامه‌نویسی محسوب می‌شود نیز بر روی سیستم‌عامل شما نصب شود.

در مرحله‌ی بعد، Terminal فعلی سیستم‌عامل خود را با بالاترین سطح دسترسی اجرا کرده و دستور pip --version را برای اطمینان از صحت نصب pip اجرا کنید:

pip 20.1.1 from <pip destination> (python 3.8)

اکنون می‌توانید با اجرای دستور:

pip install notebook

ابزار Jupyter Notebook را نصب کرده و درنهایت با اجرای دستور:

jupyter notebook

این ابزار را اجرا کنید و در مرورگر خود به آن دسترسی داشته باشید.

ترفندهای Jupyter Notebook

۱) اجرای دستورهای Shell

اجرای دستورهای Shell در Jupyter Notebook بسیار ساده است و به شکل زیر می‌توانید دستورهای مورد نظر خود را اجرا کنید:

!pip install --help

۲) مشاهده‌ی کلیدهای میانبر

با استفاده از کلیدهای میانبر می‌توانید تجربه‌ی کاری خود با Jupyter Notebook را ارتقا دهید اما تعداد زیاد کلیدهای میانبر، به‌خاطر آوردن آن‌ها را دشوار می‌کند و اینجاست که نیاز می‌شود نگاهی به لیست کامل کلیدهای میانبر بیندازید:

  • Jupyter Notebook را باز کنید.
  • Command mode را با فشار دادن کلید ESC فعال کنید.
  • درنهایت کلید H را برای مشاهده‌ی لیست کامل کلید‌های میانبر فشار دهید.

همچنین برای دسترسی مستقیم به command palette و اجرای برخی عملکردها می‌توانید در سیستم‌عامل Windows کلیدهای Ctrl + Shift + P و در سیستم‌عامل Linux کلید‌های Cmd + Shift + P را فشار دهید.

دسترسی به command palette در jupyter notebook

۳) دستورهای جادویی

در Jupyter تعدادی دستور وجود دارد که در راحت‌تر کردن فرایند برنامه‌نویسی بسیار کاربردی هستند. همچنین شما قادر خواهید بود از این دستورها به‌طور مستقیم در کدهای خود استفاده کنید:

# Print the current working directory
%pwd

# Show all the files in the current directory
%ls

# Change the working directory
%ls [PATH_TO_DIR]

# List all the variables
%who

البته به‌خاطر سپردن این دستورها می‌تواند دشوار باشد و برای مشاهده‌ی لیست کامل آن‌ها می‌توانید دستور %lsmagic را اجرا کنید یا برای کسب اطلاعات بیشتر می‌توانید دستور مورد نظر خود را به شکل زیر هایلایت کرده و کلیدهای ترکیبی Shift + Tab را فشار دهید.

نحوه‌ی نمایش جزئیات هر دستور در jupyter notebook

۴) اندازه‌گیری زمان اجرای هر cell

می‌توانید از %%time برای به‌دست آوردن زمان سپری شده پس از اجرا تا تکمیل اجرای هر cell از کدها استفاده کنید.

اندازه‌گیری زمان اجرای هر cell

۵) اضافه کردن چند نشانگر موس

مطمئنا با چندین نشانگر موس می‌توانید وقت خود را در ویرایش کدها صرفه‌جویی کنید:

  • سیستم‌عامل Windows: دکمه‌ی Alt و left-click را همزمان نگهدارید و مانند گیف زیر عمل کنید.
  • سیستم‌عامل Mac: دکمه‌ی Option و left-click را همزمان نگهدارید و مانند گیف زیر عمل کنید.
اضافه کردن چند نشانگر موس

۶) تنظیم اعلان پس از تکمیل فرایند اجرای کدها

شما در Jupyter Notebook می‌توانید یک اعلان تنظیم کنید که تکمیل فرایند اجرای کدها را به شما اعلان کند.

سیستم‌عامل Windows

در سیستم‌عامل Windows می‌توانید به شکل زیر یک هشدار با فرکانس ۴۴۰ هرتز و مدت زمان یک ثانیه تنظیم کنید:

import winsound
duration = 1000
freq = 440
winsound.Beep(freq, duration)

سیستم‌عامل Mac

در سیستم‌عامل Mac برای تنظیم اعلان می‌توانید از دستور say که به‌طور پیش‌فرض در این سیستم‌عامل وجود دارد، استفاده کنید:

import os
os.system('say "Your program has now finished"')

۷) نصب افزونه‌های Jupyter Notebook

مطمئنا Jupyter Notebook یک ابزار بسیار عالی و مفید است اما ممکن است به ویژگی‌های دیگری نیاز داشته باشید که در این ابزار به‌طور پیش‌فرض وجود ندارند و اینجاست که افزونه‌ها به شما کمک می‌کنند.

  • برای دسترسی به افزونه‌ها باید دستور زیر را در Terminal سیستم‌عامل خود اجرا کنید:
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install
  • سپس Jupyter Notebook را اجرا کرده و به تب Nbextensions بروید:
تب افزونه‌ها در jupyter notebook
  • حال اگر افزونه‌ی Code prettify را فعال کرده باشید می‌توانید با فشردن یک دکمه، کدهای خود reformat کنید.
افزونه‌ی code prettify در jupyter notebook

۸) مشاهده مستندات

برای مشاهده‌ی مستندات هر تابع یا متد دو راه حل وجود دارد. در راه حل می‌توانید تابع یا متد مورد نظر خود را به شکل زیر هایلایت کرده و با فشردن کلید‌های ترکیبی Shift + Tab به مستندات آن دسترسی پیدا خواهید کرد.

مشاهده مستندات متد rand

در روش دوم می‌توانید ? را ابتدای تابع یا متد مورد نظر خود قرار داده و بلوک فعلی را اجرا کنید.

مشاهده‌ی مستندات با استفاده از علامت سوال

۹) تغییر تعداد حداکثری نمایش ستون‌ها و ردیف‌ها در pandas

یک جدول pandas فقط می‌تواند تعداد محدودی از ردیف‌ها و ستون‌ها را نمایش دهد اما شما می‌توانید مقدار حداکثری ستون‌ها و ردیف‌ها را به‌شکل زیر تغییر دهید:

import pandas as pd
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_columns', 1000)

۱۰) مخفی کردن خروجی‌های غیرضروری

اگر نمی‌خواهید خروجی‌های غیرضروری و آزاردهنده‌ای به شما نمایش داده شود می‌توانید ; را در انتهای دستور خود قرار دهید. به تصویر زیر دقت کنید:

رسم نمودار با استفاده از matplotlib در jupyter notebook

حال برای خلاص شدن از نمایش این خروجی می‌توانید بعد از plt.scatter(x,y) از ; استفاده کنید:

plt.scatter(x,y);
عدم نمایش خروجی‌های غیرضروری در jupyter notebook با قرار دادن سمی‌کالن در انتهای کد

۱۱) تغییر تم پیش‌فرض

برای تغییر تم پیش‌فرض Jupyter Notebook می‌توانید مراحل زیر را دنبال کنید:

  • در مرحله‌ی اول باید jupyter themes را با اجرای دستور pip install jupyterthemes نصب کرد.
نصب jupyter themes
  • پس از نصب jupyter themes با اجرای دستور jt -l می‌توانید لیستی از نام تم‌های در دسترس را مشاهده کنید.
مشاهده‌ی نام تم‌های موجود در jupyter themes
  • درنهایت می‌توانید تم پیش‌فرض را با با اجرای دستور jt -t <theme name> تغییر دهید. برای مثال ما می‌خواهیم تم chesterish را فعال کنیم بنابراین دستور jt -t chesterish را اجرا خواهیم کرد.
تم chesterish در jupyter themes
  • برای بازگشتن به تم پیش‌فرض نیز می‌توانید دستور jt -r را اجرا کنید.

منبع: https://betterprogramming.pub/10-must-know-jupyter-notebook-tricks-51baea31922