Python數據分析,學習路徑拆解及資源推薦(附詳細思維導圖)

 

關於Python數據分析,其實網上能夠找到的學習資源很多,主要分爲兩類:一類是提供各種資源的推薦,比如書單、教程、以及學習的先後順序;另一類是提供具體的學習內容,知識點或實際案例。

但很多繁瑣而又雜亂的內容,除了給初學者增加理解和認識的噪音外,真正能夠起到明確的方向指引導的,確實不多。以至於很多人一開始沒有明確的方向就一頭扎進去,學了很久卻不知道自己到底在學什麼,或者自己學了很久不知道能夠做什麼。

學習一門技術之前,你應該知道,你想要達成的目標是什麼樣的。也就是說,你想通過這門技術來解決哪些問題。你就可以知道要達成這樣的目標,它的知識體系是怎麼樣的。更重要一點的是,每個部分是用來解決哪些問題,只有明確的目標導向,學習最有用的那部分知識,才能避免無效信息降低學習效率

對於數據分析這件事情,有很多的應用場景:

  • 比如你需要進行調研,來了解市場的宏觀情況,窺探競爭對手,做可行性分析……

  • 比如你所在的工作部門產生了大量的數據,你需要考慮用這些數據來優化產品、營銷、技術方案……

  • 比如你需要對產品、業務、用戶進行分析,挖掘出重要結論,給上級提出合理的決策建議……

 

通過這些常見的數據分析場景,你就可以獲得數據分析項目的基本流程。一般大致可以按“數據獲取-數據存儲與提取-數據預處理-數據建模與分析-數據報告”這樣的步驟來實施一個數據分析項目。

按照這個流程,每個部分需要掌握的細分知識點如下:

高效的學習路徑是什麼?就是按這樣的順序循序漸進,你會知道每個部分需要完成的目標是什麼,需要學習哪些知識點,哪些知識是暫時不必要的。然後每學習一個部分,你就能夠有一些實際的成果輸出,有正向的反饋和成就感,你纔會願意花更多的時間投入進去。以解決問題爲目標,效率自然不會低。

接下來我們分別從每一個部分展開,講講具體應該學什麼、怎麼學,以及各個部分主要的知識點進行結構化地展示,並有針對性地推薦學習資源。

 

  如何獲取數據  

我們分析的數據一般有內部數據和外部數據兩種。

內部數據是在我們的業務運轉中產生,比如常見的用戶數據、產品數據、銷售數據、內容數據等等。內部的數據相對來說更加完善、規整,我們經常要做的工作彙報、產品優化等分析數據一般來源於此。可以找公司的技術人員索要,或者自己去數據庫提取。

當然,很多時候,我們需要利用外部的數據。比如進行市場調研,競品分析,或者輸出報告的時候,外部數據的分析是必不可少的,這也可以幫助我們得出更多的結論。

1. 公開數據源

UCI:加州大學歐文分校開放的經典數據集,真的很經典,被很多機器學習實驗室採用。

http://archive.ics.uci.edu/ml/datasets.html

國家數據:數據來源於中國國家統計局,包含了我國經濟民生等多個方面的數據。

http://data.stats.gov.cn/index.htm

CEIC:超過128個國家的經濟數據,能夠精確查找GDP、CPI、進出口以及國際利率等深度數據。

https://www.ceicdata.com/zh-hans

中國統計信息網:國家統計局的官方網站,彙集了海量的全國各級政府各年度的國民經濟和社會發展統計信息。

http://www.tjcn.org/

政務數據網站:現在各個省都在很大程度上地開放政務數據,比如北京、上海、廣東、貴州等等,都有專門的數據開放網站,搜索比如“北京政務數據開放”。

 

2. 網絡爬蟲

基於互聯網爬取的數據,你可以對某個行業、某種人羣進行分析。比如:

職位數據:拉勾、獵聘、51job、智聯

金融數據:IT桔子、雪球網

房產數據:鏈家、安居客、58同城

零售數據:淘寶、京東、亞馬遜

社交數據、微博、知乎、Twitter

影視數據:豆瓣、時光網、貓眼

……

 

在爬蟲之前你需要先了解一些 Python 的基礎知識:元素(列表、字典、元組等)、變量、循環、函數(菜鳥教程就很好)……

以及如何用成熟的 Python 庫(urllib、BeautifulSoup、requests、scrapy實現網頁爬蟲。

 

掌握基礎的爬蟲之後,你還需要一些高級技巧。比如正則表達式、模擬用戶登錄、使用代理、設置爬取頻率、使用cookie等等,來應對不同網站的反爬蟲限制。爬蟲可以說是最爲靈活、有效的數據獲取方式,但學習成本相對來說也要高一些。開始建議先利用公開數據進行分析,後續有更多的數據需求,再上手爬蟲。那個時候你已經掌握了Python基礎,爬蟲上手也會更輕鬆。

 

3. 其他數據獲取方式

如果你暫時不會爬蟲,但又有采集數據的需求,可以嘗試各種採集軟件,不需要編程知識也可以輕鬆爬取信息,比如火車頭、八爪魚等。很多數據競賽網站也會公開不錯的數據集,比如國外的Kaggle,國內的DataCastle、天池。這些數據都是真實的業務數據,且規模通常不小,可以經常去搜集和整理。 

 

推薦數據彙總資源:

數據獲取方式彙總   https://dwz.cn/Q44MsDkH

△ 常用的數據獲取方式

 

 

  數據存儲與提取  

 

數據庫這個技能放在這裏,是因爲這是數據分析師的必備技能。大多數的企業,都會要求你有操作、管理數據庫的基本技能,進行數據的提取和基本分析。SQL作爲最經典的關係型數據庫語言,爲海量數據的存儲與管理提供可能。MongoDB則是新崛起的非關係型數據庫,掌握一種即可。

初學建議SQL。你需要掌握以下技能:

1.查詢/提取特定情況下的數據:企業數據庫裏的數據一定是巨量而繁複的,你需要提取你想要的那一部分。

比如你可以根據你的需要提取2017年所有的銷售數據、提取今年銷量最大的50件商品的數據、提取上海、廣東地區用戶的消費數據……

2.數據庫的增、刪、改:這些是數據庫最基本的操作,但只要用簡單的命令就能夠實現。

3.數據的分組聚合、建立多個表之間的聯繫:這個部分是數據庫的進階操作,多個表之間的關聯。

在你處理多維度、多個數據集的時候非常有用,這也讓你可以去處理更復雜的數據。

 

數據庫聽起來很可怕,但其實滿足數據分析的那部分技能不要太簡單。當然,還是建議你找一個數據集來實際操作一下,哪怕是最基礎的查詢、提取等操作。

 

推薦數據庫教程:

SQL-菜鳥教程  https://dwz.cn/a042MLdz

MongoDB-菜鳥教程 https://dwz.cn/sJFhRzj1

 

△ mySQL知識框架

△ MongoDB知識框架

 

 

數據清洗及預分析

 

很多時候我們拿到的數據是不乾淨的,數據的重複、缺失、異常值等等。這時候就需要進行數據的清洗,把這些影響分析的數據處理好,才能獲得更加精確地分析結果。比如空氣質量的數據,其中有很多天的數據由於設備的原因是沒有監測到的,有一些數據是記錄重複的,還有一些數據是設備故障時監測無效的。比如用戶行爲數據,有很多無效的操作對分析沒有意義,就需要進行刪除。

 

·選擇:數據訪問(標籤、特定值、布爾索引等)

·缺失值處理:對缺失數據行進行刪除或填充

·重複值處理:重複值的判斷與刪除

·空格和異常值處理清楚不必要的空格和極端、異常數據

·相關操作:描述性統計、Apply、圖形繪製等

 

從數據處理開始,就需要介入編程知識了,但不必把Python的教程完全啃一遍,只需要掌握數據分析必備的那部分即可。

 

·基本的數據類型:比如字符串、列表、字典、元組,不同的數據類型如何創建、進行增、刪、改等操作,以及其中常用的函數及方法;

·Python函數:學習如何去創建自己的函數,實現更豐富的定製化程序,知道在使用中如何調用;

·控制語句:主要是條件語句和循環語句,利用不同的語句對流程進行控制,這是實現程序的自動化的基礎。

 

Python教程推薦:

Python3-菜鳥教程  https://dwz.cn/2nJnWkrp

Python練手項目合集  https://dwz.cn/cpM0jua5

 

△ Python基礎知識框架

 

另外,Python中兩個非常重要的庫Numpy和Pandas也是需要掌握的,我們的很多數據處理及分析方法就源於其中。如果把Python比作是我們的房子,爲我們提供基礎的框架,那麼Numpy和Pandas就是房子裏的傢俱和電器,爲我們入住提供各種功能。當然,即便只是這兩個庫,官方文檔的內容也是非常多的,建議先掌握最常用的一些方法,這樣你可以決大部分的實際問題,若後續遇到問題可以有針對性地去查詢文檔。

 

Numpy

·數組創建:從已有的數組創建、從數值範圍創建

·數組切片:通過切片進行選擇

·數組操作:元素增刪、數組維度修改、數組的分割及連接

·Numpy函數:字符串函數、數學函數、統計函數

 

推薦Numpy文檔:

Nump快速入門  http://h5ip.cn/ypHr

Numpy中文文檔  https://www.numpy.org.cn/

△ Numpy知識框架

 

Pandas

·數據準備:數據讀取、創建數據表

·數據查看:查看數據基本信息、查找空值和唯一值

·數據清洗:缺失值處理、重複值處理、字符處理

·數據提取:按標籤值進行提取、按位置進行提取

·數據統計採樣、彙總、基本的統計量計算

 

推薦Pandas文檔:

十分鐘入門Pandas  http://t.cn/EVTGis7

Pandas中文文檔  https://www.pypandas.cn/

△ Pandas知識框架

 

 

數據分析及建模

 

如果你有一些瞭解的話,就知道目前市面上其實有很多 Python 數據分析的書籍,但每一本都很厚,學習阻力非常大。如果沒有整體的認識,往往不知道爲什麼要學習這些操作,這在數據分析中到底起什麼樣的作用。爲了得出普遍意義上的結論(或者從一般的數據分析項目來看),我們通常要進行三種類型的數據分析:描述性分析、探索性分析以及預測性分析

 

描述性分析主要是有目的去描述數據,這就要藉助統計學的知識,比如基本的統計量、總體樣本、各種分佈等等。

通過這些信息,我們可以獲得對數據的初步感知,也能夠得到很多簡單觀察得不到的結論。

所以其實描述性的分析主要需要兩個部分的知識,其一是統計學的基礎,其二是實現描述性的工具,用上述 Numpy 和 Pandas 的知識即可實現。

 

探索性分析通常需要藉助可視化的手段,利用圖形化的方式,更進一步地去觀看數據的分佈規律,發現數據裏的知識,得到更深入的結論。

所謂“探索”,事實上有很多結論我們是無法提前預知的,圖形則彌補了觀察數據和簡單統計的不足。

Python中的Seaborn和Matplotlib庫都提供了強大的可視化功能。

相對於Matplotlib,Seaborn更加簡單易於理解,畫基本的圖形也就是幾行代碼的事情,更推薦初學使用。

如後續需要定製化圖形,可進一步瞭解Matplotlib。

 

預測性的數據分析主要用於預測未來的數據,比如根據歷史銷售數據預測未來某段時間的銷售情況,比如通過用戶數據預測未來用戶的行爲……

預測性分析稍難,越深入會涉及更多數據挖掘、機器學習的知識,所以可以只做做基本瞭解(或者等有需求的時候再學習)。

比如基本的迴歸、分類算法,以及如何用Python的scikit-learn庫去實現,至於機器學習相關的算法選擇、模型調優則不必深入(除非你遊刃有餘)。

 

推薦數據分析資料:

書籍《深入淺出統計學》《商務與經濟統計學

Matplotlib中文文檔 https://www.matplotlib.org.cn

十分鐘掌握Seaborn https://dwz.cn/4ePGzwAg

Scikit-learn中文文檔 http://sklearn.apachecn.org

△ 數據分析建模知識框架

 

 

撰寫數據報告

 

數據報告是整個數據分析項目的最終呈現,也是所有分析過程的總結,輸出結論和策略的部分。所以無論你的心路歷程多麼精彩,數據報告纔是最終決定你分析價值的產物。要寫好一個分析報告,首先要明確數據分析任務的目標,是要探索數據裏的知識,還有要對產品進行優化,或者預測未來的數據。針對這些目標,那麼需要對問題進行拆分,要達到目標,必須要輸出哪些有價值的信息。

對於最終的決策,哪些數據、信息是有用的,是否要進一步探索,哪些是無效的,是否直接丟棄。確定好輸出的大致內容、在數據分析過程中得到有用的結論之後,接下來應該思考,如何把這些分散的信息整合起來,爲了達到最終的說服力,應該以怎樣的邏輯進行整合。

這是一個建立框架的過程,同時也反映這這個問題的拆解思路。在搭建好框架之後,就是把已有的結論填充進去,選擇合適的表達形式。選擇更合適的數據,哪些需要更加直觀的圖表,哪些結論需要進行詳細的解釋,並進行最終的美化設計,這樣一份完整的數據分析報告也就完成了。

 

在寫分析報告時,有一些一定要注意的地方:

 

1.一定要有框架,最簡單的就是以問題拆分的邏輯來進行搭建,在每個分支進行內容填充,分點說明;

2.數據的選擇不要過於片面,要多元化,進行對比分析,否則結論可能有失偏頗。

數據的價值決定了分析項目的上限,儘可能多收集有用的數據,進行多維度的分析;

3.結論一定要有客觀的數據論證,或者嚴密的邏輯推導,否則沒有說服力,特別容易陷入自嗨;

4.圖表比文字更加直觀,而且可讀性更高,應該多利用圖形化的表達方式;

5.分析報告不只是要說明問題,更重要的是基於問題提出建議、解決方案、預測趨勢

6.多看行業報告,多練習,Business Sense 在後期比技巧更重要。

 

推薦數據報告相關網站:

艾瑞網-數據報告  http://report.iresearch.cn/

友盟+-數據報告  http://t.cn/EVT6Z6z

世界經濟論壇報告  http://t.cn/RVncVVv

普華永道行業報告  http://t.cn/RseRaoE

 

△ 撰寫數據報告的框架

 

以上就是Python數據分析完整的學習路徑,這個框架看其實是有一些龐大的,牛逼的事情看起來不都這樣嘛(滑稽臉)。但完全不用擔心,其實我們每個人都天生數據敏感,自帶分析事物的天賦,只不過在沒有分析方法加持之前,我們憑的是經驗和直覺。你不必完全回爐重造,像開發程序一樣去學代碼、像考試一樣去背函數和方法,只需要一些業務的常識,像均值、極值、排序、相關性、中位數……這些東西我們信手捏來的東西往往佔據數據分析的絕大多數內容,你所學的只不過是實現這些的工具而已。就像一個100行的數據,給任何一個智力正常的人,不用任何工具和編程技術,他也能獲得一份基本的結論,而工具則是讓我們在效率、可擴展性和實現維度方面得到更好的提升,僅此而已。

 

 

以上知識框架,我們做了完整打包

包含超清版圖片、PDF文檔、思維導圖文件

還有數據分析學習資料

公衆號【DC學習助手】後臺回覆“數據分析框架1”即可獲取

 

↓↓↓   完整版思維導圖框架

 

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