1. 程式人生 > >人工智慧第三課:資料科學中的Python

人工智慧第三課:資料科學中的Python

我用了兩天左右的時間完成了這一門課《Introduction to Python for Data Science》的學習,之前對Python有一些基礎,所以在語言層面還是比較順利的,這門課程的最大收穫是讓我看到了在資料科學中Python的真正威力(也理解了為什麼Python這麼流行),同時本次課程的互動式練習體驗(Datacamp)非常棒。

 

 

這門課程主要包括了6個單元的內容,一開始介紹了Python的基本概念(常見資料型別和變數),從第二節開始講解列表在Python中的使用,並且逐步演進,我們還學習了使用真正為Data Science準備的幾個package的應用。

 

 

從資料科學的角度來看,Python可能真的是很適合的一個程式語言和環境。這不光是因為他本身的語法比較簡單,而且目前已經有幾個非常強大的包(Package)對其進行支援。

 

 

Python中的list用來表示一系列的資料,它非常靈活,甚至可以在一個列表中包含不同型別的資料,當然這樣也就帶來了一定的負面作用,例如效能。而numpy的array則是對list的一種改進,它進行規劃化(一個array的軸上只支援同一種資料型別),並提供了更多的一些與資料科學的運算(函式)。

 

 

它自身的運算規則也跟列表有極大的區別,例如

 

 

numpy庫內建支援很多科學運算的函式,不需要依賴其他庫

 

 

 

資料科學不光是對資料的處理,而且還需要對資料進行展示。目前全世界最流行的用來做資料視覺化的庫是matplotlib。

 

 

下圖是一個最簡單的例子

 

 

請注意,圖形的資料來源既可以是List,也可以是Array,當然還可以是下面的終極解決方案DataFrame,來自pandas這個庫。

 

numpy和matplotlib,可以很好地處理資料科學的場景。但如果資料量真的很大,則可能需要用到pandas了。

 

 

pandas提供了一個全新的dataframe的物件,它是完全為科學運算和統計而設計的,而且它自帶了視覺化元件庫,不需要額外依賴matplotlib。

 

從技術上說,DataFrame很像是一個Excel表格或者資料庫,它具有行和列的概念,也有索引的技術。

 

DataFrame還支援從外部檔案(例如csv)或者網路地址載入資料,這將使得它真正具有實用的價值。

 

最後,我之前提到過了,本次課程給我最驚喜的一個體驗是互動式練習。這是一個第三方學習平臺(DataCamp)提供的,非常酷。

 

 

最後,基於Jupyter構建的notebooks.azure.com ,讓我們可以線上編輯python,並且執行,形成筆記——不需要azure訂閱即可使用。如果你願意,你還可以在本地安裝Jupyter。

 

本地安裝Jupyter,請參考 https://jupyter.org/install.html

 

 

請通過 https://aka.ms/learningAI 或者掃描下面的二維碼關注本系列文章《人工智慧學習筆記》