我學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次方的比值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章