Jupyter+Docker玩轉《Python資料分析基礎》
近年來,資料分析師成為了一個高薪而又熱門的職業,如果你想跨入這一行又沒什麼程式設計基礎,那麼學習Python絕對是一個好的選擇。因為Python的程式碼風格使程式碼更易於閱讀和理解,和其他語言相比,其學習曲線沒有那麼陡峭。Python的一系列豐富的內建庫和附加庫可以方便地完成許多一般的資料處理和分析操作,讓你可以輕鬆地一站式完成資料處理與分析任務,從而大大減輕程式設計的工作量。
開發環境搭建
如果你還是一個不會程式設計的小白,那麼從安裝python到下載各種包再到執行起程式的整個過程都夠讓你喝一壺的了。《Python資料分析基礎》書中推薦了Anaconda Python,不過筆者認為安裝Anaconda Python依然略顯繁瑣,下面是筆者總結的只需要三步就能玩轉《Python資料分析基礎》的具體步驟:
1、安裝Docker
Docker是什麼?可參考拙作《離不開的工具之Docker開發指南》,簡單講是一個用於環境封裝的工具(集裝箱)。如果沒精力去了解也沒關係,你只需要知道Docker用起來很方便就行了。Windows使用者 從https://www.docker.com/docker-windows下載,Mac使用者從https://www.docker.com/docker-mac下載,只需輕點Download Now from Docker Store按鈕,按部就班的等待安裝完成即可。
2、下載jupyter/scipy-notebook的Docker映象
Jupyter是什麼?Jupyter是一個互動式筆記本(大名鼎鼎的 IPython notebook 是它的原名,大部分入門型的Python書裡都會提到它,本書也不例外)。用Jupyter寫程式碼可以自動補全,比記事本高到不知哪裡去了,每一段程式碼(cell)的執行結果能可以根據你的需要(程式碼)以文字、表、圖等方式展現出來,而且會像真正的筆記本一樣把結果保留在頁面上,以便縱向對比。
然而Jupyter現在已經不只是Python的編輯器這麼簡單了,實際上它支援40多種程式語言,比如R、Ruby、Javascript、C#、Go、Scala、Erlang、以及新興的Julia等…… ,根據任務和程式語言的不同,jupyter提供多種了預先打包好的官方映象(https://hub.docker.com/r/jupyter/),和資料分析和科學計算有關的主要有兩個映象:1、scipy-notebook(https://hub.docker.com/r/jupyter/scipy-notebook/),是純Python3.x環境;2、datascience-notebook(https://hub.docker.com/r/jupyter/datascience-notebook/)預裝了Python、R、Julia,適合更高階的混合式開發。對於本書而言,完成所有的教程只需要安裝scipy-notebook映象,該映象已經預裝了本書所有用到的資料分析庫。
介紹了這麼多,到底怎麼下載呢?其實很簡單,只需要敲入一行命令即可 ——
docker pull jupyter/scipy-notebook
3、執行jupyter/scipy-notebook
用docker下載完 scipy-notebook 映象後,我們敲入以下指令 ——
docker run -it --rm -p 8888:8888 jupyter/scipy-notebook
稍等一下,就會給出提示:
Copy/paste this URL into your browser when you connect for the first time, to login with a token:
http://localhost:8888/?token=84222a835fff50f7sssss9c8bb4a45a2e13dd387a86zzz
我們這時候只需要把最後那一行地址拷貝到瀏覽器,就可以見到一個搭建好的互動式Python資料分析開發環境了!是不是很簡單?
資料分析起步
1、第一行程式
如圖所示,在Jupyter右側選單的New下選擇Python3
會自動進入Python的命令列互動環境,我們試著敲入第一行程式碼,然後點選工具條上的 '⏯ Run'按鈕,馬上就可以看到執行結果。
2、讀檔案
資料分析的資料來源有很大頭是各種型別的檔案,從檔案中讀取資料是基本功,我們先嚐試自己讀一個自己編寫的檔案:
- (1)在Jupyter主入口的Files選項卡上選擇 New -> Text File ,輸入幾行文字,再選擇 File -> Save,會在主目錄下看到一個 'untitled.txt' 檔案,這就是你剛編輯過的檔案,選擇該檔案,再在工具欄選擇 Rename,可以修改其名稱,我們把這個檔案改名為 'abc.txt'
- (2)在程式互動區域,輸入如下程式碼 ——
input_file = 'abc.txt'
print("Output #144:")
with open(input_file, 'r', newline='') as filereader:
for row in filereader: print("{}".format(row.strip()))
- (3)點選 'Run'按鈕,就可以得到如下結果
3、上傳並處理csv檔案
- (1)我們按第二章開頭提供的地址,獲取一個名為supplier_data.csv的檔案
- (2)在Jupyter主入口的Files選項卡上選擇 Upload,會彈出檔案選擇對話方塊,選好要上傳的檔案,再點選upload,即可將指定檔案傳到Jupyter“伺服器”上。
- (3)在程式互動區,輸入如下程式碼
import sys import pandas as pd
input_file = 'supplier_data.csv'
output_file = 'abc.csv'
data_frame = pd.read_csv(input_file)
print(data_frame)
data_frame.to_csv(output_file, index=False)
- (4)點選 'Run'按鈕,就可以看到格式化好的資料。並且在Jupyter的檔案區我們還可以看到一個新生成的檔案'abc.csv'
4、用matplotlib繪製圖表?
資料的視覺化是我們做資料分析的重要組成部分,用Jupyter + matplotlib也可以輕鬆的完成這一工作。 我們在互動區輸入第6章6.1.3中的程式碼,點選 'Run'按鈕,一幅漂亮的折線圖就產生了。
總結:《Python資料分析基礎》確實書如其名,非常的基礎,可以把一個程式小白,手把手的帶入資料分析的世界。
而我們利用Jupyter+Docker可以更加省去很多繁瑣的安裝/配置環節,更快的實現Python資料分析入門。
相關文章
- 【Python資料分析基礎】: 資料缺失值處理Python
- Python資料分析基礎: 資料缺失值處理Python
- python資料分析與視覺化基礎Python視覺化
- 玩轉Bootstrap基礎——表格boot
- 學懂分析,玩轉大資料大資料
- 零基礎玩轉ServerlessServer
- Python資料分析 Pandas模組 基礎資料結構與簡介Python資料結構
- Python資料分析師主要做什麼?Python基礎Python
- 資料分析-基礎維度
- 網站資料分析基礎網站
- python-資料分析-NumPy的應用-1、基礎Python
- 資料分析基礎—3.1 認識資料
- 圖解資料分析 | 資料分析的數學基礎圖解
- Python基礎之集合和資料型別轉換Python資料型別
- 教你零基礎玩轉 vim
- 【Python資料分析基礎】: 異常值檢測和處理Python
- Python爬蟲學習-大資料統計分析(基礎)Python爬蟲大資料
- [資料處理]python基礎Python
- Python基礎語法資料Python
- Python資料型別基礎Python資料型別
- Python 基礎資料型別Python資料型別
- Python基礎之Python資料世界Python
- 玩轉大資料系列之二:資料分析與處理大資料
- Python基礎之四:Python3 基礎資料型別Python資料型別
- Python資料分析難嗎?需要英語數學基礎嗎?Python
- python資料分析基礎day1-初窺內容Python
- Python 快速教程(基礎篇02):基礎資料型別Python資料型別
- python基礎之資料型別Python資料型別
- python的基礎資料型別Python資料型別
- python基礎(二)—-資料型別Python資料型別
- 大資料基礎----Python入門大資料Python
- 零基礎轉行做資料分析師真的可以嗎?
- 14張Python程式碼速查表,玩轉資料分析&視覺化&機器學習Python視覺化機器學習
- 用《Excel》玩轉格式,輕鬆分析龐大資料!Excel大資料
- 玩轉Linux – shell 程式設計基礎Linux程式設計
- 值得收藏的資料分析基礎知識
- 電商資料分析基礎指標體系指標
- Python基礎之:Python的資料結構Python資料結構