熱線電話:13121318867

登錄
首頁精彩閱讀Python數據分析使用教程
Python數據分析使用教程
2022-10-21
收藏

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

關于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

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

△ 常用的數據獲取方式

數據存儲與提取

數據庫這個技能放在這里,是因為這是數據分析師的必備技能。

大多數的企業,都會要求你有操作、管理數據庫的基本技能,進行數據的提取和基本分析。

SQL作為最經典的關系型數據庫語言,為海量數據的存儲與管理提供可能。

MongoDB則是新崛起的非關系型數據庫,掌握一種即可。

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

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

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

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

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

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

數據庫聽起來很可怕,但其實滿足數據分析的那部分技能不要太簡單。

當然,還是建議你找一個數據集來實際操作一下,哪怕是最基礎的查詢、提取等操作。

推薦數據庫教程:

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

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

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

△ mySQL知識框架

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

△ MongoDB知識框架

數據清洗及預分析

很多時候我們拿到的數據是不干凈的,數據的重復、缺失、異常值等等。

這時候就需要進行數據的清洗,把這些影響分析的數據處理好,才能獲得更加精確地分析結果。

比如空氣質量的數據,其中有很多天的數據由于設備的原因是沒有監測到的,有一些數據是記錄重復的,還有一些數據是設備故障時監測無效的。

比如用戶行為數據,有很多無效的操作對分析沒有意義,就需要進行刪除。

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

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

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

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

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

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

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

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

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

Python教程推薦:

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

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

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

△ Python基礎知識框架

另外,Python中兩個非常重要的庫Numpy和Pandas也是需要掌握的,我們的很多數據處理及分析方法就源于其中。

如果把Python比作是我們的房子,為我們提供基礎的框架,那么Numpy和Pandas就是房子里的家具和電器,為我們入住提供各種功能。

當然,即便只是這兩個庫,官方文檔的內容也是非常多的,建議先掌握最常用的一些方法,這樣你可以決大部分的實際問題,若后續遇到問題可以有針對性地去查詢文檔。

Numpy

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

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

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

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

推薦Numpy文檔:

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

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

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

△ Numpy知識框架

Pandas

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

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

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

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

·數據統計采樣、匯總、基本的統計量計算

推薦Pandas文檔:

十分鐘入門Pandashttp://t.cn/EVTGis7

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

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

△ 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

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

△ 數據分析建模知識框架

撰寫數據報告

數據報告是整個數據分析項目的最終呈現,也是所有分析過程的總結,輸出結論和策略的部分。

所以無論你的心路歷程多么精彩,數據報告才是最終決定你分析價值的產物。

要寫好一個分析報告,首先要明確數據分析任務的目標,是要探索數據里的知識,還有要對產品進行優化,或者預測未來的數據。

針對這些目標,那么需要對問題進行拆分,要達到目標,必須要輸出哪些有價值的信息。

對于最終的決策,哪些數據、信息是有用的,是否要進一步探索,哪些是無效的,是否直接丟棄。

確定好輸出的大致內容、在數據分析過程中得到有用的結論之后,接下來應該思考,如何把這些分散的信息整合起來,為了達到最終的說服力,應該以怎樣的邏輯進行整合。

這是一個建立框架的過程,同時也反映這這個問題的拆解思路。

在搭建好框架之后,就是把已有的結論填充進去,選擇合適的表達形式。

選擇更合適的數據,哪些需要更加直觀的圖表,哪些結論需要進行詳細的解釋,并進行最終的美化設計,這樣一份完整的數據分析報告也就完成了。

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

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數據分析,學習路徑拆解及資源推薦

△ 撰寫數據報告的框架

以上就是Python數據分析完整的學習路徑,這個框架看其實是有一些龐大的,牛逼的事情看起來不都這樣嘛(滑稽臉)。

但完全不用擔心,其實我們每個人都天生數據敏感,自帶分析事物的天賦,只不過在沒有分析方法加持之前,我們憑的是經驗和直覺。

你不必完全回爐重造,像開發程序一樣去學代碼、像考試一樣去背函數和方法,只需要一些業務的常識,像均值、極值、排序、相關性、中位數……

這些東西我們信手捏來的東西往往占據數據分析的絕大多數內容,你所學的只不過是實現這些的工具而已。

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

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢