<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          增強 Jupyter Notebook 的功能,這里有 4 個妙招

          共 4097字,需瀏覽 9分鐘

           ·

          2020-03-09 23:26

          點擊上方Python知識圈,選擇設(shè)為星標

          回復(fù)1024獲取Python資料


          轉(zhuǎn)自:機器之心

          閱讀文本大概需要 6 分鐘


          Jupyter Notebook 是所有開發(fā)者共享工作的神器,它為共享 Notebooks 提供了一種便捷方式:結(jié)合文本、代碼和圖更快捷地將信息傳達給受眾。目前,Jupyter Notebook 已經(jīng)應(yīng)用于數(shù)據(jù)分析和數(shù)據(jù)科學(xué)等領(lǐng)域。


          然而,大部分開發(fā)者僅僅了解其皮毛。開發(fā)者使用 Jupyter Notebook 的基本功能來寫 Python 代碼、展示圖。但是你們知道 Jupyter 中還有大量自定義功能嗎?這些很酷的選項可以幫助你使用 Jupyter notebook 更高效地寫代碼、展示圖。


          本文將介紹強化 Jupyter Notebook 功能的 4 種方法。


          1. 執(zhí)行 Shell 命令


          在技術(shù)或編程文本中,shell 表示使用文本與計算機進行交互的方式。最流行的 Unix shell 是 Bash(Bourne Again SHell),Bash 是 Linux 機器上終端默認的 shell。


          在使用 Python 工作時,你會經(jīng)常在寫 Python 代碼和使用 shell 命令之間來回切換。例如,你想使用 Python 讀取磁盤中的某份文件,而這需要你確認文件名。通常情況下,你需要在終端輸入 ls,獲得當前目錄的所有文件和文件夾列表。但這樣來回切換非常繁瑣低效。


          很炫酷的是,Jupyter 能夠執(zhí)行 Shell 命令,你甚至無需離開瀏覽器。只需要在 shell 命令前加一個感嘆號!,Jupyter 會將其轉(zhuǎn)換為 Bash。在任一命令前加感嘆號!,它們就可以在 Python Jupyter Notebook 中運行。


          # Listing folder contents
          >>> !ls
          mynotebook.ipynb stuff.txt# Getting the current directory
          >>> !pwd
          /home/george/github/project_1# Printing from Bash 
          >>> !echo "Pizza is delicious!"
          Pizza is delicious!


          我們還可以將 shell 命令的輸出分配給 Python 變量,如下所示:


          # Getting the current directory. 
          # The variable "X" now contains ["/home/george/github/project_1"]
          X = !pwd



          2. 更換主題


          eed6a74d81e28afdca4992cac2fcac48.webp


          很多文本編輯器和編程 IDE 都有自定義主題。開發(fā)者最喜歡的主題之一是暗黑主題(如 monaki),因為對于整天盯著屏幕的開發(fā)者而言,暗黑主題看起來比較舒適。幸運的是,Jupyter 有一個插件,允許用戶自行選擇主題。


          要想安裝該插件,你只需在終端中運行以下 pip 命令:


          pip install jupyterthemes


          運行以下命令,可得到可用的主題列表:


          jt -l


          截至本文寫作時,可選擇的主題包括:
          chesterish
          grade3
          gruvboxd
          gruvboxl
          monokai
          oceans16
          onedork
          solarizedd
          solarizedl


          查看這些主題,如下圖所示,我們擁有大量不同的顏色選擇。

          18bfbaa6a346350f637c7e6d9ef3ae4e.webp

          solarizedd(左),gruvboxl(中),grade3(右)。



          3. Notebook 擴展插件


          Jupyter Notebook 擴展插件(nbextensions)是一些 JavaScript 模塊,你可以使用它們強化 Notebook 的功能以及使用。擴展插件本質(zhì)上修改了 Jupyter UI,以實現(xiàn)更穩(wěn)健的功能。


          我們首先通過 pip 安裝 nbextensions:
          pip install jupyter_contrib_nbextensions 

          jupyter contrib nbextension install


          安裝完成后,啟動 Jupyter。你將看到一個新選項——NBextensions。選擇它之后,你會看到大量 Jupyter Notebook 擴展插件選項。

          b12d6c044ca949969924b825a3f15e12.webp


          通過快速搜索,你可以查看這些擴展插件的功能。下面我將介紹幾個最重要的插件。


          Table of Contents


          正如其名稱所描述的那樣,Table of Contents 基于 notebook 中 # 創(chuàng)建的標題自動生成目錄。例如,我在 notebook 中創(chuàng)建了以下標題:


          # This is a super big title
          ## This is a big title
          ### This is a medium title
          #### This is a small title


          則左側(cè)會生成目錄。雙擊標題,可鏈接至對應(yīng)章節(jié)內(nèi)容。當 notebook 規(guī)模很大,選項很多時,這個功能非常方便!

          542c7153c09806f18757e6023d5a6c76.webp


          Hinterland


          代碼補全是大部分 IDE 都具備的常見功能,比如 PyCharm。開發(fā)者喜歡這個功能,因為這使得他們的工作更加簡單,開發(fā)者無需記住每一個命令,IDE 會準備好一切。


          Hinterland 可在 Jupyter Notebook 內(nèi)完成代碼補全。在鍵入過程中,你會看到一些代碼補全建議。尤其是當你搜索外部庫的命令時(示例如下所示)。這簡直太方便了!


          a558b202a6e91da5617878667dc0a094.webp



          拆分單元格(Split Cells)


          拆分單元格允許開發(fā)者并排查看 2 個單元格。當你有兩個相關(guān)單元格時(比如描述及其對應(yīng)的圖示),這個功能非常方便。

          3a737740e4ff0af23c8233475dba288e.webp



          4. 使用 Qgrid 探索 Dataframes



          最后一站是 Qgrid,該工具允許開發(fā)者在不使用復(fù)雜 Pandas 代碼的情況下,探索和編輯數(shù)據(jù)幀。Qgrid 可在 Jupyter notebook 中以交互的方式渲染 pandas 數(shù)據(jù)幀,這樣你就可以執(zhí)行一些直觀的控制,如滾動、排序和篩選,以及雙擊單元格編輯數(shù)據(jù)幀。


          我們首先安裝 Qgrid:


          pip install qgrid
          jupyter nbextension enable --py --sys-prefix widgetsnbextension


          要想使用 Qgrid 渲染數(shù)據(jù)幀,開發(fā)者只需導(dǎo)入 Qgrid,然后將數(shù)據(jù)幀輸入到 show_grid 函數(shù):


          import qgrid
          qgrid_widget = qgrid.show_grid(df, show_toolbar=True)
          qgrid_widget


          這樣,你可以對數(shù)據(jù)幀執(zhí)行大量交互式操作:


          • 添加和刪除行;

          • 篩選行;

          • 編輯單元格。


          將更多參數(shù)輸入 show_grid 函數(shù)可以執(zhí)行其他交互式操作。關(guān)于 Qgrid 的全部功能,參見:https://github.com/quantopian/qgrid。


          01fa78074fb8bd89cd6ff0c9904b9fce.webp


          以上就是強化 Jupyter Notebook 功能的 4 種方法。


          原文鏈接:https://towardsdatascience.com/4-awesome-tips-for-enhancing-jupyter-notebooks-4d8905f926c5


          
           

          f5ad5a364df1578aca9a1137d7763126.webp

          -----------------------公眾號:Python知識圈(ID:PythonCircle博客:www.pyzhishiquan.com知乎Python知識圈視頻號:菜鳥程序員bilibili:菜鳥程序員的日常
          一個學(xué)習(xí)Python的人,喜歡分享,喜歡搞事情!長按下圖二維碼關(guān)注,和你一起領(lǐng)悟Python的魅力。
          
           


          留言打卡 DAY 22

          今日的留言話題是:你用Jupyter Notebook ?說說它的優(yōu)缺點。關(guān)于留言打卡的規(guī)則參考:留言打卡第二季  (點擊鏈接查看規(guī)則),請按照 昵稱+天數(shù)(請以自己實際打卡的天數(shù)為準,如day1 or day2 or day3)+ 留言內(nèi)容(不少于15字)的方式留言。

          Python知識圈公眾號的交流群已經(jīng)建立,群里可以領(lǐng)取 Python 和人工智能學(xué)習(xí)資料,大家可以一起學(xué)習(xí)交流,效率更高,如果是想發(fā)推文、廣告、砍價小程序的敬請繞道!一定記得備注「交流學(xué)習(xí)」,我會盡快通過好友申請哦!通過好友后私聊我「學(xué)習(xí)資料」或者「進群」都可以。

          掃碼添加,備注:交流學(xué)習(xí)




          往期推薦01

          公眾號所有文章匯總導(dǎo)航(2-10更新)

          02

          拒絕低效!Python教你爬蟲公眾號文章和鏈接

          03

          用Python計算出小姐姐的顏值數(shù),看看你的女神顏值多少


          分享給你的朋友

          點個在看

          589ea14cc35d035cfc1bf073d8ac9153.webp

          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人在线看黄 | 日韩精品在线看 | 午夜探花视频 | 久久婷婷五月 | 国产蝌蚪 |