A place for study and research

Python 100 Days Day67 Setting Environment of Data Analysis

|

author: jackfrued

環境準備

如果希望快速開始使用 Python 處理數據科學相關的工作,建議大家直接安裝 Anaconda,然後使用 Anaconda 中集成的 Notebook 或 JupyterLab 工具來編寫代碼。因為對於新手來說,先安裝官方的 Python 解釋器,再逐個安裝工作中會使用到的三方庫文件會比較麻煩,尤其是在 Windows 環境下,經常會因為構建工具或 DLL 文件的缺失導致安裝失敗,而一般新手也很難根據錯誤提示信息采取正確的解決措施,容易產生嚴重的挫敗感。如果計算機上已經有 Python 解釋器環境了,也可以直接使用 Python 的包管理工具 pip 安裝 Jupyter,再根據實際工作的需要安裝三方庫,這種方式適合有一定經驗的用戶。

安裝和使用 Anaconda

對於個人用戶來說,可以從 Anaconda 的官方網站下載它的“個人版(Individual Edition)”安裝程序,安裝完成後,你的計算機上不僅擁有了 Python 環境和 Spyder(類似於PyCharm的集成開發工具),還擁有了與數據科學工作相關的近200個工具包,包括我們上面提到 Python 數據分析三大神器。除此之外,Anaconda 還提供了一個名為 conda 的包管理工具,通過這個工具不僅可以管理 Python 的工具包,還可以用於創建運行 Python 程序的虛擬環境。

如上圖所示,可以通過 Anaconda 官網提供的下載鏈接選擇適合自己操作系統的安裝程序,建議大家選擇圖形化的安裝程序,下載完成後雙擊安裝程序開始安裝。安裝過程基本使用默認設置即可,完成安裝後,macOS 用戶可以在“應用程序”或“Launchpad”中找到名為“Anaconda-Navigator”的應用程序,運行該程序可以看到如下所示的界面,我們可以在這里選擇需要執行的操作。

對於 Windows 用戶,建議按照安裝向導的提示和推薦的選項來安裝 Anaconda(除了安裝路徑,基本也沒有什麽需要選擇的),安裝完成後可以在“開始菜單”中找到“Anaconda3”。

溫馨提示:可以選擇 Miniconda 作為 Anaconda 的替代品,Miniconda 只會安裝 Python 解釋器環境和一些必要的工具,其他的三方庫由用戶自行選擇安裝。其實我個人並不喜歡 Anaconda,因為它是給小白用戶使用的,我們有了 Python 以後完全可以按照自己的意願來安裝需要的三方庫。

conda命令

如果希望使用 conda 工具來管理依賴項或者創建項目的虛擬環境,可以在終端或命令行提示符中使用 conda 命令。Windows 用戶可以在“開始菜單”中找到“Anaconda3”,然後點擊“Anaconda Prompt”來啟動支持 conda 的命令行提示符。macOS 用戶建議直接使用“Anaconda-Navigator”中的“Environments”,通過可視化的方式對虛擬環境和依賴項進行管理。

  1. 版本和幫助信息。

    • 查看版本:conda -Vconda --version
    • 獲取幫助:conda -hconda --help
    • 相關信息:conda list
  2. 虛擬環境相關。

    • 顯示所有虛擬環境:conda env list
    • 創建虛擬環境:conda create --name venv
    • 指定 Python 版本創建虛擬環境:conda create --name venv python=3.7
    • 指定 Python 版本創建虛擬環境並安裝指定依賴項:conda create --name venv python=3.7 numpy pandas
    • 通過克隆現有虛擬環境的方式創建虛擬環境:conda create --name venv2 --clone venv
    • 分享虛擬環境並重定向到指定的文件中:conda env export > environment.yml
    • 通過分享的虛擬環境文件創建虛擬環境:conda env create -f environment.yml
    • 激活虛擬環境:conda activate venv
    • 退出虛擬環境:conda deactivate
    • 刪除虛擬環境:conda remove --name venv --all

    說明:上面的命令中,venvvenv2是虛擬環境文件夾的名字,可以將其替換為自己喜歡的名字,但是強烈建議使用英文且不要出現空格或其他特殊字符。

  3. 包(三方庫或工具)管理。

    • 查看已經安裝的包:conda list
    • 搜索指定的包:conda search matplotlib
    • 安裝指定的包:conda install matplotlib
    • 更新指定的包:conda update matplotlib
    • 移除指定的包:conda remove matplotlib

    說明:在搜索、安裝和更新軟件包時,默認會連接到官方網站進行操作,如果覺得速度不給力,可以將默認的官方網站替換為國內的鏡像網站,推薦使用清華大學的開源鏡像網站。將默認源更換為國內鏡像的命令是:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main。如果需要換回默認源,可以使用命令conda config --remove-key channels

使用Notebook

安裝和啟動Notebook

如果已經安裝了 Anaconda,macOS 用戶可以按照上面所說的方式在“Anaconda-Navigator”中直接啟動“Jupyter Notebook”(以下統一簡稱為 Notebook)。Windows 用戶可以在“開始菜單”中找到 Anaconda 文件夾,接下來選擇運行文件夾中的“Jupyter Notebook”就可以開始數據科學的探索之旅。

對於安裝了 Python 環境但是沒有安裝 Anaconda 的用戶,可以用 Python 的包管理工具pip來安裝jupyter,然後在終端(Windows 系統為命令行提示符)中運行jupyter notebook命令來啟動 Notebook,如下所示。

安裝 Notebook:

pip install jupyter

安裝三大神器:

pip install numpy pandas matplotlib

運行 Notebook:

jupyter notebook

Notebook 是基於網頁的用於交互計算的應用程序,可以用於代碼開發、文檔撰寫、代碼運行和結果展示。簡單的說,你可以在網頁中直接編寫代碼運行代碼,代碼的運行結果也會直接在代碼塊下方進行展示。如在編寫代碼的過程中需要編寫說明文檔,可在同一個頁面中使用 Markdown 格式進行編寫,而且可以直接看到渲染後的效果。此外,Notebook 的設計初衷是提供一個能夠支持多種編程語言的工作環境,目前它能夠支持超過40種編程語言,包括 Python、R、Julia、Scala 等。

首先,我們可以創建一個用於書寫 Python 代碼的 Notebook,如下圖所示。

接下來,我們就可以編寫代碼、撰寫文檔和運行程序啦,如下圖所示。

Notebook使用技巧

如果使用 Python 做工程化的項目開發,PyCharm 肯定是最好的選擇,它提供了一個集成開發環境應該具有的所有功能,尤其是智能提示、代碼補全、自動糾錯這類功能會讓開發人員感到非常舒服。如果使用 Python 做數據科學相關的工作,Notebook 並不比 PyCharm 遜色,在數據和圖表展示方面 Notebook 更加優秀。這個工具的使用非常簡單,大家可以看看 Notebook 菜單欄,相信理解起來不會有太多困難,在知乎上有一篇名為《最詳盡使用指南:超快上手Jupyter Notebook》的文章,也可以幫助大家快速認識 Notebook。

說明Jupyter 官網上還有一個名為 JupyterLab 的工具,被稱之為“Next-Generation Notebook”,用戶界面較之 Notebook 更加友好,有興趣的讀者可以使用pip install jupyterlab命令來安裝這個工具,然後通過jupyter lab來啟動它。

下面我為大家介紹一些 Notebook 的使用技巧,希望能夠幫助大家提升工作效率。

  1. 自動補全。在使用 Notebook 編寫代碼時,按Tab鍵會獲得代碼提示。

  2. 獲得幫助。在使用 Notebook 時,如果希望了解一個對象(如變量、類、函數等)的相關信息或使用方式,可以在對象後面使用?並運行代碼, 窗口下方會顯示出對應的信息,幫助我們了解該對象,如下所示。

  3. 搜索命名。如果只記得一個類或一個函數名字的一部分,可以使用通配符*並配合?進行搜索,如下所示。

  4. 調用命令。可以在 Notebook 中使用!後面跟系統命令的方式來執行系統命令。

  5. 魔法指令。Notebook 中有很多非常有趣且有用的魔法指令,例如可以使用%timeit測試語句的執行時間,可以使用%pwd查看當前工作目錄等。如果想查看所有的魔法指令,可以使用%lsmagic,如果了解魔法指令的用法,可以使用%magic來查看,如下圖所示。

    常用的魔法指令有:

    魔法指令 功能說明
    %pwd 查看當前工作目錄
    %ls 列出當前或指定文件夾下的內容
    %cat 查看指定文件的內容
    %hist 查看輸入歷史
    %matplotlib inline 設置在頁面中嵌入matplotlib輸出的統計圖表
    %config Inlinebackend.figure_format='svg' 設置統計圖表使用SVG格式(矢量圖)
    %run 運行指定的程序
    %load 加載指定的文件到單元格中
    %quickref 顯示IPython的快速參考
    %timeit 多次運行代碼並統計代碼執行時間
    %prun cProfile.run運行代碼並顯示分析器的輸出
    %who / %whos 顯示命名空間中的變量
    %xdel 刪除一個對象並清理所有對它的引用
  6. 快捷鍵。Notebook 中的很多操作可以通過快捷鍵來實現,使用快捷鍵可以提升工作效率。Notebook 的快捷鍵又可以分為命令模式下的快捷鍵和編輯模式下的快捷鍵,所謂編輯模式就是處於輸入代碼或撰寫文檔狀態的模式,在編輯模式下按Esc可以回到命令模式,在命令模式下按Enter可以進入編輯模式。

    命令模式下的快捷鍵:

    快捷鍵 功能說明
    Alt + EnterOption + Enter 運行當前單元格並在下面插入新的單元格
    Shift + Enter 運行當前單元格並選中下方的單元格
    Ctrl + EnterCommand + Enter 運行當前單元格
    j / kShift + j / Shift + k 選中下方/上方單元格、連續選中下方/上方單元格
    a / b 在下方/上方插入新的單元格
    c / x 覆制單元格 / 剪切單元格
    v / Shift + v 在下方/上方粘貼單元格
    dd / z 刪除單元格 / 恢覆刪除的單元格
    l / Shift + l 顯示或隱藏當前/所有單元格行號
    ii / 00 中斷/重啟Notebook內核
    Space / Shift + Space 向下/向上滾動頁面

    編輯模式下的快捷鍵:

    快捷鍵 功能說明
    Shift + Tab 獲得提示信息
    Ctrl + ]Command + ])/ Ctrl + [Command + [ 增加/減少縮進
    Alt + EnterOption + Enter 運行當前單元格並在下面插入新的單元格
    Shift + Enter 運行當前單元格並選中下方的單元格
    Ctrl + EnterCommand + Enter 運行當前單元格
    Ctrl + Left / RightCommand + Left / Right 光標移到行首/行尾
    Ctrl + Up / DownCommand + Up / Down 光標移動代碼開頭/結尾處
    Up / Down 光標上移/下移一行或移到上/下一個單元格

    溫馨提示:如果記不住這些快捷鍵也沒有關系,在命令模式下按h鍵可以打開 Notebook 的幫助系統,馬上就可以看到快捷鍵的設置,而且可以根據實際的需要重新編輯快捷鍵,如下圖所示。

Comments