<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使用技巧大全

          共 5816字,需瀏覽 12分鐘

           ·

          2020-12-18 11:11

          點擊上方“藍字”,輕松關(guān)注

          Jupyter Notebook 簡介

          Jupyter Notebook是一款開源的web應用,它允許使用者創(chuàng)建和分享包含代碼,公式,可視化圖表和純文本的文檔,并支持多種編程語言的交互式計算,對于python用戶來講更是一款十分方便的代碼編寫工具。只需要通過web瀏覽器就可以很方便地進行數(shù)據(jù)清洗和轉(zhuǎn)換,數(shù)值模擬,統(tǒng)計建模,數(shù)據(jù)可視化,機器學習等。本文主要介紹Jupyter Notebook結(jié)合python的使用。

          Jupyter Notebook安裝

          Jupyter Notebook的前身是IPython Notebook,對python2,python3都有很好的支持。相比于Pycharm,它安裝更方便,代碼塊可以分開運行,支持MarkDown和LaTex,是對于數(shù)據(jù)分析人員特別友好的一個很“輕”的工具。通常可以在本地啟動Jupyter Notebook服務(wù),通過web瀏覽器使用它。實際工作中,有些公司會統(tǒng)一部署在線的Jupyter Notebook服務(wù),同樣通過相應的鏈接就可以訪問,支持直接連接Hive表,使用pyspark等。另外,在一些數(shù)據(jù)平臺上,例如kaggle,科賽等,很多代碼也是通過notebook的形式進行分享,代碼運行結(jié)果,圖像等能夠保留,因此具有較強的易讀性。

          對于本地的安裝,有以下方式。

          方法一:Anaconda安裝

          這是官方強烈推薦 的一種安裝方式。Anaconda本身包含了Python,Jupyter Notebook以及其他常用的數(shù)據(jù)科學包,如Pandas,Numpy等。安裝完Anaconda之后,通過Anaconda Navigator就可以快速啟動。也可以在終端中執(zhí)行jupyter notebook命令來啟動,windows下安裝好Anaconda之后,可以找到相應的導航器和Prompt命令行來啟動。

          方式二:pip安裝

          pip是python的一款包管理工具,通過pip install pkg_name可以完成很多python擴展包的安裝。jupyter notebook 同樣,執(zhí)行pip install jupyter即可完成安裝。

          Jupyter Notebook入門
          1. 啟動

            在終端中輸入jupyter notebook是最常用的啟動方式,默認在本地的8888端口啟動。如果本地已經(jīng)有一個jupyter正在運行,再啟動一個就會運行在8889端口。運行完該命令,會在系統(tǒng)默認的瀏覽器打開一個網(wǎng)頁,網(wǎng)頁的地址是:

            http://localhost:8888/tree

            需要注意的是我們執(zhí)行該啟動命令的目錄就是啟動之后的根目錄。如果你是要打開已經(jīng)存在的.ipynb文件,最好切換到該文件所在目錄再啟動,或者啟動之后將文件移動(或復制)到啟動目錄下。

            另外,如果想換一個瀏覽器打開jupyter notebook(我習慣用Chrome而不是默認的Safari),一種方式是可以復制瀏覽器的鏈接地址在目標瀏覽器中粘貼訪問,此時可能出現(xiàn)類似于如下的界面。此時需要回到終端中,復制一下token填入token框,點擊login即可正常訪問。

          2. 總體使用

            如下圖所示,該頁面是啟動之后默認打開的頁面。我們可以看到當前目錄下已有的文件,可以查看已有的jupyter 文件(灰色表示未在運行,綠色表示正在運行),可以點擊查看子目錄下的內(nèi)容。

            我們點擊右側(cè)的New,選擇Python3會在新的頁面中建立一個未命名的notebook文件,選擇Text File會新的頁面中建立一個未命名的txt文件,選擇Folder會在當前頁面中建立一個未命名文件夾,選擇Terminal會在新的頁面中建立Terminal。

            可以在左側(cè)進行勾選,對文件夾進行重命名,移動或刪除,對文件進行復制,重命名,移動,下載,查看,編輯和刪除。

            Running選項卡下可以看到當前正在運行的terminal和notebook,使我們可以對目前的資源使用情況進行一個直觀了解。

          3. 退出

            如果要停止某個正在執(zhí)行的notebook文件,可以在file選項卡下勾選該文件,點擊shutdown(也可以用其他方式,見后文)。如果要關(guān)閉整個jupyter notebook,可以在終端中按下鍵盤上的Ctrl C即可。

          Notebook使用說明

          接下來我們重點說明一下新建“python3”之后的操作,這也是最常用的編寫python文件的操作。

          1.總體布局

          上面圖中大致說明了Notebook中每一部分的作用,對平常使用python運行程序來講,快捷命令已經(jīng)足夠。快捷命令工具條從左到后的圖標依次表示:保存文件,添加新cell,剪切選中的cell,復制選中的cell,粘貼選中的cell,將選中cell上移,將選中cell下移,執(zhí)行選中的cell,終止kernel,重啟kernel,重啟kernel并重新運行所有cell。Code點擊之后有四個選項,分別是:Code(寫python代碼),MarkDown(寫MarkDown代碼,通常用于注釋),Raw NBConvert(一個轉(zhuǎn)換工具),Heading(快捷添加MarkDown標題)。最后一個小鍵盤可以查看和搜索一些快捷鍵的操作。

          2. 常用菜單操作:

          • 修改文件名:可以點擊文件名稱,在彈出的框中直接修改或者File—>Rename

          • 新建Notebook文件:File—>New Notebook—>python3

          • 下載文件:File—>Download as —> 選擇目標格式即可下載

          • 合并cell:Edit—>Merge Cell Above或Merge Cell Below

          • 重啟Kernel并清除所有輸出:Kernel—>Restart & Clear Output

          • 重啟Kernel并運行所有cell:Kernel—>Restart & Run All

          • 停止當前Notebook運行:Kernel—>ShutDown

          這里只列出了常用的菜單操作,沒有列出的并不表示不常用,而是可以用快捷鍵或者菜單欄下方的快捷工具代替。如果需要查看每一個菜單選項的含義和作用,推薦文章:https://blog.51cto.com/853056088/2162189,寫的非常詳細。

          3. 命令模式和編輯模式

          每一個cell有兩種模式:命令模式和編輯模式。如下圖所示:最左側(cè)是藍色的條是命令模式,是綠色的條表示編輯模式(此時cell中有光標,可以進行代碼編寫)。在命令模式下,按下enter或者鼠標單擊代碼框可以進入編輯模式。在編輯模式下,按下esc或者鼠標單擊代碼框左側(cè)區(qū)域即可進入命令模式。

          4. 常用快捷(鍵)操作:

          代碼運行:

          • ctrl + enter:運行當前cell的代碼,運行完后依然保持在當前cell

          • shift + enter:運行當前cell的代碼,運行完后跳轉(zhuǎn)到下一個cell,如果是最后一個cell則會新增一個

          • 工具條上的Run

          創(chuàng)建新的cell:

          • 命令模式下,按下字母a(above),會在當前cell上方增加一個cell

          • 命令模式下,按下字母b(blove),會在當前cell下方增加一個cell

          • 工具條上的?按鈕

          刪除當前側(cè)cell

          • 命令模式下,按下字母x,即可刪除當前cell

          • 命令模式下,連續(xù)兩次按下字母d,即可刪除當前cell

          • 工具條上的“剪刀”按鈕

          合并cell

          • 命令模式下,選中多個cell,shift + M可以進行合并

          • Edit—>Merge Cell Above/Merge Cell Down

          拆分cell

          • 編輯模式下,以光標所在之處為分界點,ctrl shift -(減號),可以進cell的拆分

          • Edit—>Split Cell

          保存代碼

          • 命令模式下,按下字母s,就能創(chuàng)建一個checkpoint

          • 工具條上的保存按鈕

          • File—>Save and Checkpoint

          查找替換

          • 編輯模式下,ESC + F

          • Edit—>Find and Replace

          折疊輸出:有時輸出過長的情況

          • 編輯模式下,ESC+O

          • 在cell左側(cè)位置上雙擊即可折疊

          • Cell—>Current Output—>Toggle

          顯示代碼行號

          • 命令模式下,按下字母l(L的小寫,鍵盤k右側(cè)的l)鍵,就能顯示當前cell的行號

          • shift + l,顯示所有cell的行號

          • View—>Toggle Line Numbers

          切換代碼類型

          • 命令模式下,按下m切換到MarkDown模式,再按下y切換到code模式

          • 工具條上手動切換

          • Cell—>Cell Type—>選擇相應的代碼類型

          注釋代碼

          • 選中代碼,command+/ (windows下是control)

            注:其他的快捷鍵可以點擊工具欄最后的小鍵盤查看。

          tab鍵的使用

          • 只輸入變量或者函數(shù)的前幾個字母,按下tab可以自動補全

          • 已經(jīng)輸入函數(shù),連續(xù)按下shift+tab可以查詢函數(shù)的具體用法,(一直可以按4次)


          執(zhí)行shell命令

          • 英文狀態(tài)下的感嘆號+普通的shell命令,例如:!pwd!ls等,有些時候或許很有用。

          5. 魔法函數(shù)


          以上是一些常用的魔法函數(shù),其他的一些魔法函數(shù)依然可以查閱上面的鏈接,
          https://blog.51cto.com/853056088/2162189嗎,讀者可以查閱其具體的用法。
          Jupyter Notebook擴展

          執(zhí)行以下代碼可以安裝jupyter notebook擴展

          pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

          安裝完之后,重新啟動一下jupyter 服務(wù),就可以看到Nbextensions選項卡。我們只需要勾選相應的插件,在每一個notebook的工具條中就會出現(xiàn)相應的擴展。選中每個擴展的時候,在其下方都會出現(xiàn)關(guān)于該擴展的說明,演示,配置等情況,通過仔細閱讀我們就能得知該擴展的用法。

          比較好用的幾個擴展及其作用如下:

          1.Table of Contents

          這個擴展一般用于整個文件的目錄很多的時候。首先在Nbextensions選項卡中勾選該插件,然后在工具條中就可以看到該擴展按鈕。如果我們在notebook中使用了MarkDown設(shè)置了我們的標題,點擊該擴展,就會在左側(cè)生成目錄,點擊左側(cè)的齒輪,可以在最頂部添加一個cell專門用來顯示目錄。點擊左側(cè)和頂部的鏈接都可以快速跳轉(zhuǎn)到相應的位置。還可以進行目錄的折疊。注意到此時菜單欄上也多了一個“Navigate”標簽,同樣顯示了目錄的情況。

          2.Autopep8

          這是一個將代碼按照PEP8進行格式化的插件,前提是需要通過pip install autopep8安裝autopep8,安裝完之后需要重啟jupyter notebook服務(wù)才能生效。同樣在Nbextention選項卡中勾選Autopep8,在工具欄中會多一個“錘子”一樣的按鈕,可以幫助我們排版代碼,使其符合pep8標準。

          3.Variable inspector

          該插件可以幫助我們查看當前notebook中所有的變量的名稱,類型,大小和值。省去了df.shape,type()等語句的執(zhí)行,也代替了前文提到的魔法函數(shù)“%whos”的執(zhí)行,讀者可以自行嘗試一下。

          4.Code folding

          顧名思義,該插件可以對代碼進行一定的折疊,例如遇到class,def等關(guān)鍵字,而且主體代碼又很長時,折疊代碼會方便閱讀,這一點也讓jupyter notebook更像一個IDE。

          5.Execute time

          該插件可以顯示每一個cell中代碼的執(zhí)行時間。

          除此之外還有一些其他常見的插件擴展,例如Notify,Collapsible headings等,讀者可以自行探索查看,并配置使用。

          其他說明
          • 制作幻燈片并放映:參考該鏈接的第二部分:

            https://blog.csdn.net/qq_27825451/article/details/85050496

          • 數(shù)學公式編輯:這個其實是MarkDown功能的延伸,需要將cell的代碼類型改為MarkDown,然后在一對美元符號之間寫入LaTex公式,(例如$E=mc^2$),運行cell之后就可以正常顯示公式了。

          • 關(guān)于jupyter lab和jupyter hub

            jupyter lab是基于jupyter notebook的新版本,是包括了Notebook的下一代的有模塊化的界面,可以在同一個窗口同時打開好幾個notebook或文件(HTML, TXT, Markdown等等),都以標簽的形式展示,于是就更像是一個IDE。除了界面上存在差異,使用方式上和notebook沒有大的差別。

            jupyter hub是一個支持多用戶的 Jupyter Notebook 服務(wù)器,用于創(chuàng)建、管理、代理多個 Jupyter Notebook 實例。具有擴展性和可定制性。常見的場景是公司的運維人員對很多人使用的Notebook進行管理和資源分配。這里不太方便演示。

          • 關(guān)于jupyter notebook與pycharm的差別

            個人認為notebook是更“輕”量級的,適合小白使用。各個cell之間具有相對獨立,且變量共享的特點,某些時候特別有用。(例如在爬蟲時,請求一次就獲得了html源碼,后面進行頁面解析時就可以以此為基礎(chǔ)進行調(diào)試,無需再次請求,在處理對請求頻次有限制的網(wǎng)站時還是很有用的)。除此外,notebook能夠保存中間結(jié)果,方便演示,適合數(shù)據(jù)分析人員或者數(shù)據(jù)科學家使用。

            pycharm更適合大型工程項目的管理,每一個文件是一次執(zhí)行的。如果一個項目工程中有很多個文件,這時最好使用pycharm。此外pycharm在代碼編輯時,隨時會有提示,而且支持代碼跳轉(zhuǎn),便于對源碼的查看學習。當然工具畢竟只是工具,適合自己的就是最好的,讀者可以根據(jù)自己的需求和使用習慣進行選擇。

          總結(jié)

          本文我們主要學習了jupyter notebook的使用,核心內(nèi)容在于一些快捷操作和擴展插件。希望對讀到這里的你有一定的幫助。

          瀏覽 43
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  91精品国产乱码久久久久 | 伊人久久视频 | 国产三级片网站在线观看 | 国产无码免费 | 男女黄色在线观看 |