自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

新聞 前端
你對 Jupyter Notebook 了解多少?本文介紹了一些自定義功能,幫助你使用 Jupyter notebook 更高效地寫代碼。

你對 Jupyter Notebook 了解多少?本文介紹了一些自定義功能,幫助你使用 Jupyter notebook 更高效地寫代碼。

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

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

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

1. 執(zhí)行 Shell 命令

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

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

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

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

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

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

2. 更換主題

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

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

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

  1. pip install jupyterthemes 

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

  1. jt -l 

截至本文寫作時,可選擇的主題包括:

  1. chesterish 
  2. grade3 
  3. gruvboxd 
  4. gruvboxl 
  5. monokai 
  6. oceans16 
  7. onedork 
  8. solarizedd 
  9. solarizedl 

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

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

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

3. Notebook 擴展插件

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

我們首先通過 pip 安裝 nbextensions:

  1. pip install jupyter_contrib_nbextensions  
  2. jupyter contrib nbextension install 

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

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

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

Table of Contents

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

  1. # This is a super big title 
  2. ## This is a big title 
  3. ### This is a medium title 
  4. #### This is a small title 

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

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

Hinterland

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

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

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

拆分單元格(Split Cells)

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

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

4. 使用 Qgrid 探索 Dataframes

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

我們首先安裝 Qgrid:

  1. pip install qgrid 
  2. jupyter nbextension enable --py --sys-prefix widgetsnbextension 

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

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

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

  • 添加和刪除行;
  • 篩選行;
  • 編輯單元格。

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

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

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

 

責任編輯:張燕妮 來源: 機器之心
相關推薦

2019-09-22 18:53:27

Jupyter Not代碼開發(fā)

2010-09-09 10:18:01

2018-03-25 09:11:31

大數(shù)據(jù)機器學習分析軟件

2020-11-02 15:49:35

機器學習技術云計算

2016-08-23 00:39:25

2020-07-27 10:37:01

編程技巧開發(fā)

2023-11-21 08:00:20

AI模型

2023-11-21 08:45:10

JSON性能程序

2024-01-03 16:37:26

Jupyter工具開源

2022-07-28 08:33:59

JupyterPython

2019-09-18 09:06:00

2018-08-02 15:40:59

2023-10-10 18:00:49

Python編程語言

2023-08-21 13:39:57

開發(fā)桌面Ubuntu

2020-06-12 07:36:33

Redis

2018-02-28 07:33:59

云遷移數(shù)據(jù)中心云計算

2018-03-01 10:48:52

云 數(shù)據(jù)中心

2018-05-15 15:47:32

2018-06-11 09:00:00

開源GitHubGit代碼倉庫

2018-04-12 15:02:26

點贊
收藏

51CTO技術棧公眾號