Python數據分析,學習路徑拆解及資源推薦

2021-03-02 數據分析

關於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行的數據,給任何一個智力正常的人,不用任何工具和編程技術,他也能獲得一份基本的結論,而工具則是讓我們在效率、可擴展性和實現維度方面得到更好的提升,僅此而已。

本文轉自:DC黑板報 ;獲授權;

END

合作請加QQ:365242293  

數據分析(ID : ecshujufenxi )網際網路科技與數據圈自己的微信,也是WeMedia自媒體聯盟成員之一,WeMedia聯盟覆蓋5000萬人群。

相關焦點

  • python機器學習,學習路徑拆解及資源推薦
    機器學習整個知識體系可總結如下:雖然機器學習一直都被認為是一個較難的領域,但經過對學習體系的分解,按照學習路徑一步一步的學習,普通人也可以成長為機器學習大神。 接下來我們分別從每一個部分展開,講講具體應該學什麼、怎麼學,以及各個部分主要的知識點進行結構化地展示,並有針對性地推薦學習資源。
  • (Python版)數據科學家的完整學習路徑
    本文的目的就是給數據分析方面的Python新手提供一個完整的學習路徑。該路徑提供了你需要學習的利用Python進行數據分析的所有步驟的完整概述。如果你已經有一些相關的背景知識,或者你不需要路徑中的所有內容,你可以隨意調整你自己的學習路徑,並且讓大家知道你是如何調整的。
  • 強烈推薦,B站最強學習資源匯總(數據科學,機器學習,python)
    但要說最受年輕人歡迎的學習資源網站,應該非B站莫屬。該平臺資源之豐富不用多說,並且全程無廣告,很多網友都表示自己通過B站學會了很多技能,比如Python、資料庫、Photoshop、英語考級、日語考級等。總之,一個B站就足夠解決絕大多數問題。
  • 吐血推薦,B站最強學習資源匯總(數據科學,機器學習,Python)
    Python 數據分析與展示(北京理工大學)https://www.bilibili.com/video/av10101509https://www.bilibili.com/video/av16378934 課程介紹:莫煩 Python 數據處理教程,主要講解Numpy、Pandas兩個包的使用。共18講。3.
  • 原創推薦!B站最強學習資源匯總(數據科學,機器學習,Python)
    但要說最受年輕人歡迎的學習資源網站,應該非B站莫屬。該平臺資源之豐富不用多說,並且全程無廣告,很多網友都表示自己通過B站學會了很多技能,比如Python、資料庫、Photoshop、英語考級、日語考級等。總之,一個B站就足夠解決絕大多數問題。
  • Python學習路徑及練手項目合集
    Python實現鍵值資料庫本課程將通過理解一個操作類似於 Redis,存儲理念來自於 CouchDB 的鍵值資料庫的原始碼來學習如何做資料庫的數據存儲,體會使用不可變數據結構的優點。Python基於共現提取《釜山行》人物關係針對《釜山行》劇本的文本,使用python編寫代碼分析文本中人物的共現關係,完成對《釜山行》文本的人物關係提取,並利用Gephi軟體對提取的人物關係繪製人物關係圖。
  • B站最強學習資源匯總(Python,數據科學,機器學習)
    ,包括數據預處理、分類、聚類、回歸、關聯、推薦、集成學習、進化計算等。p=17課程介紹:本課程是關於Tensorflow與深度學習實戰的一門課程。該課用通俗易懂的實例,系統講解了Tensorflow2.0的使用,可以說是目前最新最系統的 Tensorflow 2.0 教程。其中講解了Tensorflow中各種概念、操作和使用方法,針對Tensorflow的基礎知識,在傳統數據分析中應用進行詳細講解,並且給出了豐富的深度學習模型實戰。
  • 推薦一條高效的Python爬蟲學習路徑!
    比如有的人認為學爬蟲必須精通 Python,然後哼哧哼哧系統學習 Python 的每個知識點,很久之後發現仍然爬不了數據;有的人則認為先要掌握網頁的知識,遂開始 HTMLCSS,結果入了前端的坑,瘁……但掌握正確的方法,在短時間內做到能夠爬取主流網站的數據,其實非常容易實現。但建議你從一開始就要有一個具體的目標,你要爬取哪個網站的哪些數據,達到什麼量級。
  • Python 學習資源
    如果你是一位使用Python的開發人員,而且希望提高自己的技術水平,或者你想學習Python,那麼你可來對地方了。本文將為你獻上25個最佳GitHub代碼庫。1、最佳Python代碼庫Python開發資源大全:Python框架、庫、軟體以及資源精選列表。
  • 數據分析:R與Python怎麼選?
    更重要的是,Python不僅運用於後端計算服務和前端網頁開發,也同樣能處理數據分析、機器學習的問題,具有很強的擴展性和兼容性,你能想到的它幾乎都能做到,十分神奇。    R和Python 都是高級分析工具,各自都有眾多的簇擁者和強大的社區支持,在網絡爬蟲、數據加工、數據可視化、統計分析、機器學習、深度學習等領域都有豐富第三方包提供調用。
  • GitHub 上 25 個 Python 學習資源,牆裂推薦!
    如果你是一位使用Python的開發人員,而且希望提高自己的技術水平,或者你想學習Python,那麼你可來對地方了。本文將為你獻上25個最佳GitHub代碼庫。1、最佳Python代碼庫Python開發資源大全:Python框架、庫、軟體以及資源精選列表。
  • 基於python的大數據分析-pandas數據讀取(代碼實戰)
    書籍推薦《大話軟體測試》出版啦,內容包括但不限於性能、自動化、接口、安全、移動APP非功能測試、抓包、loadrunner、jmeter
  • 零基礎學Python,應該知道的學習路徑和經驗
    今天我們就來看兩位Python大牛的自學路徑和心得體會,相信對你一定有所幫助。學習python的過程分為四個階段:了解python、找個例子練手、做項目、能力提升。第一步肯定是先了解下什麼是python,它能做什麼;這個建議找個python入門的書籍看看:《從零開始學 Python》(第二版)Python 之旅推薦的這兩本入門書籍任選一本看就可以了,入門書籍的內容也不需要全部都看,只要了解python一些基礎知識:數據類型:整型、字符串、列表、字典、元組基礎語句
  • 機器學習:入門方法與學習路徑 (附資料)
    入門方法與學習路徑OK,不廢話,直接切重點丟乾貨了。看似學習難度大,曲線陡的機器學習,對大多數入門者也有一個比較通用的學習路徑,也有一些優秀的入門資料可以降低大家的學習門檻,同時激發我們的學習樂趣。簡單說來,大概的一個學習路徑如下:  簡單說一點,之所以最左邊寫了『數學基礎』『典型機器學習算法』『編程基礎』三個並行的部分,是因為機器學習是一個將數學/算法理論和工程實踐緊密結合的領域,需要紮實的理論基礎幫助引導數據分析與模型調優,同時也需要精湛的工程開發能力去高效化地訓練和部署模型和服務。
  • 數據分析自學到什麼程度可以找到工作?
    SQL · 表的增刪改查· 表連接· 子查詢· 窗口函數· SQL語句執行順序推薦學習工具: W3 School:https://www.w3schools.com/sql/default.asp SQL Zoo:
  • 小蚊子python數據分析實戰【完結】(百度雲資源-課程分享大全)
    免責聲明:本文素材均來源於網絡,所有的資源全部保留了原作者的信息,僅用來學習,請於24小時內從您的電腦中徹底刪除上述內容!
  • Python基礎入門及學習資源
    Python的代碼風格上,如果團隊有自己的風格則按照自己的風格,否則,比較推薦的是PEP8或Google Code Style。關於PEP8規範,連結在這裡(https://www.python.org/dev/peps/pep-0008/)。開發環境搭建在常見的*inx系統上,默認都安裝了Python解釋器,你可以直接在終端輸入python進入默認的環境。
  • GitHub上25個Python學習資源庫
    如果你是一位使用Python的開發人員,而且希望提高自己的技術水平,或者你想學習Python,那麼你可來對地方了。本文將為你獻上25個最佳GitHub代碼庫。註:公眾號文章中的連結無法跳轉,需要直接跳轉的朋友可以點擊文末的閱讀原文1、最佳Python代碼庫Python開發資源大全:Python框架、庫、軟體以及資源精選列表。
  • 為什麼數據分析要學習python?
    即使你不認識任何數據分析師,也一定看到過這類研究報告或者文章:Smart is the new sexy. 酷炫的圖表,理性的分析闡述,出其不意又在情理之中的思考角度,總讓人對這群「用數據講故事的人」充滿了嚮往。
  • python數據分析專題 (7):python數據分析模塊
    python是一門優秀的程式語言,而是python成為數據分析軟體的是因為python強大的擴展模塊。