1. 程式人生 > >【精華分享】:轉行資料分析的一份學習清單

【精華分享】:轉行資料分析的一份學習清單

作者:xiaoyu
微信公眾號:Python資料科學
知乎:Python資料分析


有很多朋友問我學習了Python後,有沒有什麼好的專案可以練手。

上一篇主要分享了博主親身轉行資料分析的經歷:【轉行資料分析的親身經歷】
本篇繼上一篇將分享轉行資料分析的一些經驗和學習方法,看完這篇你將會解決以下幾個問題:

  • 轉行資料分析需要掌握哪些學習重點?

  • 轉行學習資料分析有哪些好的學習資源?

注意:

  • 本篇內容是針對所有想轉行資料分析人員的,內容深淺不一。若內容過於簡單,可直接略過,若內容過於複雜,也不必擔憂

  • 本篇涉及到的所有推薦書籍博主已經打包,文章末尾會提供獲取方式

 

程式設計基礎

 

如果你是一個對程式設計毫無經驗的小白,那麼首先你應該掌握一定的程式設計基礎(尤其像從其它行業轉行到IT行業的朋友們)。對於新手來說,博主認為Python語言是最佳的選擇。作為一個解釋型的動態高階語言,Python易於理解,上手簡單,非常適合初學者學習。一本快速入門Python語言的書籍推薦:簡明Python。這本書英文原版為《A Byte of Python》,經翻譯變為《簡明Python》。博主也給好多人推薦過,大家看過之後基本上都很認同,是入門Python最快效果最好的書籍。

 

如果你已經瞭解了Python程式設計的基礎用法想要繼續深入學習Pyhon,那麼博主推薦你去看:廖學峰Python教程。

它基本上涵蓋了Python程式設計入門到精通的所有知識,如果你能將這個看透,那麼可以說你已經掌握了Python這門語言了。

 

學完了Python的理論知識,當然就需要應用,需要實戰。博主之前分享了一篇文章非常適合Python初學者的實戰專案,非常有趣,也易於實現。如果你也苦於找不到一個合適的練習專案,那麼可以嘗試一下這個練習專案:

 

資料分析基礎

 

拋開對業務層面的基本理解,學好資料分析首先需要了解統計學,統計分析是資料分析的基礎,也是靈魂。下面博主列出統計分析的幾個核心內容:

  • 描述統計,統計推斷,概率論;

  • 抽樣,分佈,估計,置信區間,假設檢驗;

  • 線性迴歸,時間序列;

博主推薦一本比較好的統計學書籍:統計學,這本書清晰的講述了基礎的統計學知識,非常經典。

 

資料分析工具

 

SQL語言

博主之前做過一個統計,就是統計招聘網站上關於資料分析師的招聘資訊關鍵詞,其中詞頻最高的是SQL。這就說明了一個問題:資料分析師最關鍵的一項技能就是會使用SQL語言操作資料庫。

 

關於SQL的學習博主推薦兩個學習路徑:

  • w3school

  • SQL必知必會

這個學習沒有捷徑,需要一個學習規劃,一般學習週期不長,兩個星期就可以學一遍,但是更多的是反覆練習刷題,推薦到Leetcode進行一些實踐練習。

 

Excel基本操作

作為微軟的一個出色表格處理工具,Excel也是資料分析師需要掌握的。因為公司很多其它部門非技術人員是不會使用程式設計工具的,而會使用相對簡單的Excel來處理一些報表。這個時候就可能需要你可以在Excel中做一些資料分析工作然後反饋,但是也不必太深入,掌握核心的功能即可,比如:

  • 增刪改查

  • 各類常用函式的使用

  • 各類基礎圖示的製作

  • 資料透視表等

能夠熟練運用上面功能就可以,學習週期很短,甚至一天就能學會,主要是熟練。而對於剩下的複雜功能等遇到了再學習也不遲。

 

Python or R?

R語言就是為統計學而設計的語言,是統計行業中非常高效實用的工具,目前非常受歡迎。而Python作為目前非常火爆的語言,由於其出色的科學計算包pandas,numpy,scikit-learn等的存在,非常適合於資料分析與資料探勘,也是很多人的不二選擇。

 

關於這Python和R,博主認為二者皆可,選擇自己順手和喜歡的。由於博主自己是Python愛好者,也因為它的簡單易用,因此強烈推薦使用Python。在Python的基礎上有更高階的互動式IPython工具,可以說這讓資料分析變得更加方便了,博主推薦使用Jupyter notebook,非常好用,誰用誰知道,如果不知道怎麼用,可以參考下面教程快速入門。

 

如何使用Python進行資料分析?

使用Python做資料分析,首先需要學會使用numpy和pandas包,因為它是Python資料分析的核心工具。numpy主要解決一些數學計算,矩陣變換,線性代數等問題,pandas更像是一張excel表,有行列定義,欄位定義,以及資料變換和預處理等操作。兩個計算包非常強大,pandas包自己就有兩千多個方法,但是別慌,我們只要掌握核心方法就可以了。關於如何學習numpy和pandas,博主後續也會不斷分享介紹,但是這裡先貼出兩張numpy和pandas學習的思維導圖,總結的非常好。

 

  • numpy學習思維導圖

  • pandas學習思維導圖

 

除此之外,推薦一本特別好的Python資料分析書籍:利用Python進行資料分析,這本書是入門Python資料分析非常好的書籍,從numpy,pandas,資料預處理,資料重塑合併,資料變換等各種關於資料的操作,最後還介紹了Python的時間序列用法以及在金融領域上的應用。

另一本推薦的資料分析書籍是:深入淺出資料分析,這本書使用圖表示意比較多,內容也很豐富,也是不錯的參考資料。

Python資料視覺化

Python的資料視覺化工具是matplotlib,matplotlib的功能也十分強大,將它使用好會讓你的資料視覺化美觀清晰,吸人眼球。另外一個視覺化工具是seaborn,它是在matplotlib基礎上封裝的更高階的視覺化工具,使用方便,圖表非常美觀,並有FaceGrid,PairPlot,heatmap等強大的複合型視覺化方法。

 

這兩個工具的官方網站都有詳細的使用說明,但如果你想快速學習核心使用方法也可以參考下面幾個教程:

 

爬蟲和機器學習

好多朋友問:資料分析崗位要求會爬蟲嗎?要求會機器學習嗎?

 

首先說爬蟲。其實說實話,對於資料分析而言,爬蟲真不是必須的,因為一般的大公司都有專門的爬蟲團隊。資料分析只是將資料從資料庫取出然後做資料處理和分析。不過,爬蟲作為一項技能是可以在一定程度上加分的,起碼在博主的面試經歷中是這樣的。博主之前分享過一系列爬蟲技術的文章,感興趣的朋友也可以在後臺學習資源中找到,這裡不贅述了。

 

其次是機器學習。對於機器學習,博主想說這部分還是有必要了解一下的(不是必須),因為一是可以給自己加分,另外也可以讓自己清楚未來的職業方向。資料分析的發展方向一般有BI商業方向,行業分析業務方向,和機器學習資料探勘方向。瞭解常用的監督和非監督模型,如樸素貝葉斯,決策樹,聚類等可以讓自己更加深刻得理解資料分析。

 

機器學習的書籍推薦:《統計學習方法》《機器學習》《機器學習實戰》三本書。

李航的統計學方法和周志華的機器學習(西瓜書)是大家最為熟知,最經典的書籍資源,兩本書主要介紹機器學習的統計理論知識和公式推導,比較難啃,對於初學者其實並不建議花費大量時間深究。因為機器學習涉及的東西很多很雜,對於數學要有很強的功底,所以並不是短時間內可以全部掌握的。對於轉行人員來說,時間是很寶貴的,因此博主建議這兩本書可以作為參考,但不必盲目深入研究。而對於已經從事本行業的人員,這兩本書無疑是最絕佳的參考資料,可以反覆閱讀。

 

機器學習實戰這本書從實際應用的角度出發,更多的介紹了機器學習程式設計方面的使用,並附有大量原始碼分析,是非常具有特色的一本參考書籍,比較適合初始學習機器學習的人員。當然還有很多其它的參考資料,比如臺大林軒田,Andrew Ng機器學習視訊也是非常好的教學資源。

 

博主的建議是:先從巨集觀上了解各個模型的特徵,優缺點及主要的應用,然後再慢慢由淺入深的學習各個模型演算法的緣由和推導,因為這樣不但會逐漸建立信心,也會對模型演算法有更深刻的理解。總的來說,幾本書各有特色,相輔相成,建議結合幾本書一起學習效果最佳。當然,關於機器學習這部分,博主後面也會陸續給大家介紹。

 

資源獲取方式

 

以上就是博主對於資料分析學習方法和資源的一些分享。本篇推薦的參考資料和書籍已經打包,可以通過加入資料分析交流群獲取(後臺點選交流群可以找到),也可以通過掃描以下二維碼獲取。

 

 

博主分享真實經歷就是希望給大家提供一個正確的學習路線和方法,因為自己曾經走過不少坑,摸爬滾打到現在真心不易。如果大家覺得本篇內容對你有所幫助,那麼還請大家多轉發分享和點贊(好兄弟是時候該挺一波了吧)。

 

傳送 學習資料,獲取經典書籍電子書