1. 程式人生 > >我學Python都看了哪些書

我學Python都看了哪些書

前言


       2017年11月29日,自己曾在公眾號內寫過一篇《聊聊我的R語言學習路徑和感受》的文章,受到了很多朋友的關注和讚揚,同時,也有其他公眾號在幫忙轉載。當然,也有很多朋友也給我留言,能不能聊聊關於Python的學習建議,時隔一個多月,今天抽空再來談談自己學習Python的路程吧。

       準確的說自己是從2014年的9月份開始接觸Python的,那會由於工作需要,硬著頭皮開始學習Python,不怕各位笑話,我的第一本Python啟蒙書籍

《與孩子一起學程式設計》。這本書真的非常通俗易懂,從什麼是變數、基本的數學運算、資料型別到複雜一點的控制流語法和應用,再到Python的幾種資料結構講解等等,同時也會將這些基礎知識拼起來寫一個和小孩一起玩的遊戲(儘管自己對遊戲沒有什麼興趣,但還是照書抄程式碼了)。


說這段經歷的目的是想說明,你必須得明確自己學習Python的目的是什麼,因為對於一個初學者來說,經常向度娘或周邊的朋友詢問:“學習Python,有什麼書可以推薦嗎?”如果不搞清楚自己學習的目的,那這個問題其實是白問的。因為Python能做的事實在是太多了,對於這個問題,你會得到五花八門的答案,此時你也會疑惑,這麼多可供選擇的初級書,我該選擇哪一本呢?所以,首先問自己

,我學習Python是用它來搞運維?還是用它來做開發?還是用它來完成你的資料分析與挖掘?很顯然,對於我來說,我應該是用它幫助我完成資料分析或挖掘的工作任務。

       如果你對資料分析或挖掘感興趣,那這篇文章也許對你會有一點幫助,接下來就跟大家分享一下自己學習Python的一點點經驗,內容會涵蓋Python基礎儲備、Python資料分析、Python資料視覺化和Python資料探勘幾個部分。

Python基礎儲備


       不管你學習什麼新東西,都必須牢記一條,基礎必須夯實牢

因為基礎能夠決定你能走多遠。所以,學習Python也需要你靜下心來好好的掌握一下它的基礎知識,如基本的資料結構(列表、元組、字典)及對應的方法、字串處理方法、控制流和自定義函式、正則表示式、檔案處理、異常處理、類的建立等等。關於這部分的學習,有很多參考書可供選擇,如:

《Python簡明教程》:這是一本只有100頁左右的小冊子,你可以迅速的瀏覽並敲一遍程式碼,或多或少都會提升你的Python基礎能力;

《笨方法學Python》:這本書同樣非常的短小精悍,全書是以習題的形式讓讀者掌握有關Python的基礎知識,裡面的程式碼建議讀者能夠敲一遍;

《Python基礎教程》:這本書的內容非常的詳實,幾乎覆蓋了Python的所有基礎知識點,當然有些章節你也並不需要都去看,讀者可以根據自己的情況,有針對性的挑著看;


關於Python基礎儲備方面的書籍我就推薦這三本,書不在多,只要你用心看完一本書就是對自己的挑戰,希望讀者能夠記住:基礎決定你能走多遠這句話。

Python資料分析


       當你掌握了有關Python的基礎知識後,你就可以嘗試著去學習Python在資料分析和挖掘中的應用了。眾所周知,隨著大資料時代的到來,資料分析顯得尤其重要和火熱,那麼相應的關於Python做資料分析的第三方模組也越來越多,例如numpy用於數值計算、隨機數生成等功能、pandas用於資料的清洗和整理等功能、statsmodels和scipy用於統計建模和各種假設檢驗等功能、matplotlib用於資料資料視覺化、sklearn用於常見的資料探勘演算法的落地等。目前市面上也有很多關於Python資料分析的書本,例如:

《利用Python進行資料分析》:太經典了,作者就是建立pandas模組的大牛,書中詳細講解了有關numpy、pandas、matplotlib等模組的常用函式技巧,同時也結合了一些案例加以說明,書末也簡單介紹了Python在時間序列問題上的處理和金融與經濟方面的應用;

《Python金融大資料分析》:如果你對金融比較感興趣的話,這本書是一個不錯的選擇。不僅講了有關金融方面的理論知識和應用案例,也同樣講解了很多基礎知識,如常見的資料結構、資料視覺化操作、資料操作、數學基礎、統計學基礎等;

《Python資料分析與挖掘實戰》:這是一本很棒的實戰書籍,結合Python這個工具講解了有關資料分析過程中的資料探索和資料預處理,同時,也介紹了很多資料分析和挖掘的案例,一步步帶著讀者完成每一個實戰專案的操作。例如,竊電行為識別、家電使用者行為分析、電商使用者行為分析等;


有關更多的類似numpy、pandas資料處理模組的講解,讀者可以自行查閱官網的文件說明。

Python資料視覺化


       資料視覺化的目的就是讓讀資料的人留下直觀而深刻的記憶,這也是資料分析過程中必備的技能,一方面方便自己和讀者發現數據的規律和關係,另一方面也是資料的一種展現方式。關於專門講Python視覺化的書,在市面上並不多,這裡就跟大家分享一本我認為非常棒的書吧:

《Python資料視覺化程式設計實戰》:本書涵蓋了基本的統計圖形,如條形圖、餅圖、直方圖、箱線圖、面積圖、散點圖等,還講解了有關作圖的細節,如座標軸、刻度值、圖例的處理等,除此,還單獨將3D圖作為一個章節進行講解。如果你想了解關於地圖的繪製,書中也有案例,只不過沒有提到中國地圖的繪製。


更多有關matplotlib模組的內容學習,讀者可以檢視官網的文件說明。關於資料視覺化的實現,除了matplotlib這個模組,還有seaborn模組、bokeh模組、plotly模組等,同樣你可以通過搜尋關鍵詞,到其對應的官網檢視更多的幫助文件。

Python資料探勘


       資料探勘部分相對而言要難一些,光實現資料探勘的操作還不夠,還需要一定的數學功底,正如吳恩達所說,數學只是機器學習的基礎。對於一般常用的預測模型、分類模型和聚類模型都可以通過Python的sklearn模組實現,所以實操不難。重要的是理論知識的掌握,這裡介紹幾本理論方面的書:

《資料探勘導論》:非常適合資料探勘入門,內容詳實,講解的條理也很清晰;

《資料探勘概念與技術》:同樣是一本不可多得的好書,首先介紹挖掘方法的概念和理論知識,然後通過某些資料集來完成手工計算的過程,對於讀者來說,具有代入感,學習起來也會比較有勁;

《統計學習方法》:是一本完全偏理論的書籍,包含了很多演算法的推理過程,如knn演算法、貝葉斯演算法、決策樹演算法、支援向量機演算法等,這些推理對讀者的數學知識要求比較高;


書雖好,但都需要一定的數學基礎才能看上面的內容,關於數學基礎大學裡學的高等數學、線性代數、概率論、統計學等基本上就夠用了。如果覺得自己不夠紮實,趕快去充充電哦。

       再來推薦兩本使用Python進行資料探勘實戰方面的書籍:

《Python資料探勘入門與實踐》:該書的譯者盡然是英語專業學生,是不是驚呆了!全書通篇都是講解有關資料探勘的實戰案例,如使用決策樹預測獲勝球隊、使用神經網路破解驗證碼、使用k均值完成新聞語料的分類等等,基本是都是基於sklearn這個模組來實現的;

《機器學習實戰》:這本書對讀者的程式設計技能要求比較高,幾乎所有的挖掘演算法都是一個重複造輪子的過程(可能不太適合調包俠),我覺得該書的最大優點就是加強對演算法的理解,一遍講解演算法,一遍通過基本的程式設計將演算法進行重現;


結語


       OK,關於個人學習Python的書籍推薦就分享到這裡,如果你需要上面的提及的書籍,我已經將電子版的整理好了,你只需關注每天進步一點點2015”或“lsxxx2011”並回覆Python書籍”就可獲得下載連結。

       最後,我得通知大家,“每天進步一點點2015”這個名稱我將改成“資料分析1480”。主要出於兩個原因,一方面字太長,網友搜尋起來比較不方便;另一方面1480這個數字涵蓋了“每天進步一點點”的含義,因為它是1.01的365次方與0.99的365次方的比值。