ترفندهایی برای استفاده از 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
را فشار دهید.
۳) دستورهای جادویی
در 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
را فشار دهید.
۴) اندازهگیری زمان اجرای هر cell
میتوانید از %%time
برای بهدست آوردن زمان سپری شده پس از اجرا تا تکمیل اجرای هر 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 بروید:
- حال اگر افزونهی Code prettify را فعال کرده باشید میتوانید با فشردن یک دکمه، کدهای خود reformat کنید.
۸) مشاهده مستندات
برای مشاهدهی مستندات هر تابع یا متد دو راه حل وجود دارد. در راه حل میتوانید تابع یا متد مورد نظر خود را به شکل زیر هایلایت کرده و با فشردن کلیدهای ترکیبی Shift + Tab
به مستندات آن دسترسی پیدا خواهید کرد.
در روش دوم میتوانید ?
را ابتدای تابع یا متد مورد نظر خود قرار داده و بلوک فعلی را اجرا کنید.
۹) تغییر تعداد حداکثری نمایش ستونها و ردیفها در pandas
یک جدول pandas فقط میتواند تعداد محدودی از ردیفها و ستونها را نمایش دهد اما شما میتوانید مقدار حداکثری ستونها و ردیفها را بهشکل زیر تغییر دهید:
import pandas as pd
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_columns', 1000)
۱۰) مخفی کردن خروجیهای غیرضروری
اگر نمیخواهید خروجیهای غیرضروری و آزاردهندهای به شما نمایش داده شود میتوانید ;
را در انتهای دستور خود قرار دهید. به تصویر زیر دقت کنید:
حال برای خلاص شدن از نمایش این خروجی میتوانید بعد از plt.scatter(x,y)
از ;
استفاده کنید:
plt.scatter(x,y);
۱۱) تغییر تم پیشفرض
برای تغییر تم پیشفرض Jupyter Notebook میتوانید مراحل زیر را دنبال کنید:
- در مرحلهی اول باید jupyter themes را با اجرای دستور
pip install jupyterthemes
نصب کرد.
- پس از نصب jupyter themes با اجرای دستور
jt -l
میتوانید لیستی از نام تمهای در دسترس را مشاهده کنید.
- درنهایت میتوانید تم پیشفرض را با با اجرای دستور
jt -t <theme name>
تغییر دهید. برای مثال ما میخواهیم تم chesterish را فعال کنیم بنابراین دستورjt -t chesterish
را اجرا خواهیم کرد.
- برای بازگشتن به تم پیشفرض نیز میتوانید دستور
jt -r
را اجرا کنید.
منبع: https://betterprogramming.pub/10-must-know-jupyter-notebook-tricks-51baea31922
توسعهدهندگان دربارهی ما چه میگویند
تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...
MohammadReza
keikaavousi
بعد از بسته شدن @fandoghpaas و ناراحتی همهمون از اینکه یه سرویس خوب و صادق نمیتونه از پس هزینهها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوتهایی داشت که کمی کار میخواست ولی تا الان کاملا راضی.
jadi
jadi
یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.
Arch
EbadiDev
واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیتهای سرویس دیتابیسشون اینه که خودشون به صورت دورهای بکآپ میگیرن.
...
Ali Najafi
me_ali_najafi
یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@
Navid
1navid
عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم
Amir H Shekari
vanenshi