做者 | AlfredWu
來源 | Alfred數據室
最近有不少人在問,我是如何收集網絡的數據,如何進行數據處理、數據分析以及可視化呈現的。算法
也有人問的更具體,關於Python數據分析的一些問題。到底應該怎麼學?如何快速入門,以及技術和業務之間的瓶頸如何突破?數據庫
由於深度的數據分析每每能夠看到事情的本質,而這又是一項在任何狀況下都超級加分的技能。總結了一些經驗,但願可以給還沒入門、或者入門以後就遇到瓶頸的新手一些建議。主要是關於如何系統地進行學習規劃,以及能夠避免的一些坑。網頁爬蟲
有的同窗看到數據分析幾個字,就立刻開始Python函數+控制語句、R語言和ggplot庫……上來一頓騷操做,還沒入門就放棄了。小程序
這就是需求不明確致使的,固然學習方式也值得商榷,那到底數據分析須要什麼樣的技能呢? 這裏做爲例子,從招聘網站上找了幾個數據分析的崗位,咱們來看看具體的要求是怎樣的。segmentfault
其實企業對數據分析師的基礎技能需求差異不大,可總結以下:api
看上去很簡單呀,對吧,但其實你把每一個技能拆分開來,都是一個不小的知識體系。若是咱們按照數據分析的流程來細分的話,每一個部分應該掌握的技能,大概是這樣的:網絡
那對於這個技能體系,應該如何進行技能的訓練呢?前後順序是什麼?哪些地方可能出現困難和瓶頸?函數
按數據分析的流程的順序按部就班,你會知道每一個部分須要完成的目標是什麼,須要學習哪些知識點,哪些知識是暫時沒必要要的。工具
接下來咱們分別從每個部分講講具體應該學什麼、怎麼學。oop
- ❶ -
數據獲取:爬蟲與公開數據
數據是產生價值的原材料,這也是數據分析項目的第一步。
一般我是經過爬蟲獲取相關數據的,一來數據有很高的時效性,二來數據的來源能夠獲得保證,畢竟網上的信息是異常豐富的。
這些分佈在網上零散的信息,經過爬取整合以後,就有比較高的分析價值。
好比你能夠經過爬蟲獲取招聘網站某一職位的招聘信息,爬取租房網站上某城市的租房信息,獲取知乎點贊排行、網易雲音樂評論排行列表。基於互聯網爬取的數據,你能夠對某個行業、某個事件、某類人羣進行分析。
在爬蟲以前須要先了解一些 Python 的基礎知識:數據類型(列表、字典、元組等)、變量、循環、函數………
以及,如何用 Python 庫(urllib、BeautifulSoup、requests等)實現網頁爬蟲。若是是初學,建議從requests+xpath開始。
固然,並非說公開數據就沒用了,在進行分析的時候,須要一些歷史數據進行對比,須要必定的行業標準進行參考的時候,公開數據的價值就體現出來了。
一些科研機構、企業、政府會開放一些數據,還有一些行業研究報告、他人的調查結果,均可以成爲你的數據來源。這些數據集一般比較完善、質量相對較高。
- ❷ -
數據存取:SQL語言
我並非每次都會用到數據庫,但不少時候這確實是作數據分析項目的必備技能,包括求職就業,也是必選項。
一般數據庫的使用可以讓數據存儲、管理更方便,同時也能提升數據提取和使用的效率,特別是在數據上了必定的量級以後,誰用誰知道。
大多數的企業,都會以SQL的形式來存儲數據,若是你是一個分析師,也至少要懂得SQL的操做,可以查詢、提取公司的數據。
SQL做爲最經典的數據庫工具,爲海量數據的存儲與管理提供可能,而且使數據的提取的效率大大提高。須要掌握如下技能:
SQL這部分比較簡單,主要是掌握一些基本的語句。固然,仍是建議找幾個數據集來實際操做一下,哪怕是最基礎的查詢、提取等。
- ❸ -
數據處理:Pandas/Numpy
爬回來的數據一般是不乾淨的,數據的重複、缺失、異常值等等,這時候就須要進行數據的清洗,把這些影響分析的數據處理好,才能得到更加精確地分析結果。
那麼咱們須要用相應的方法去處理,好比重複數據,是保留仍是刪除;好比殘缺數據,咱們是直接去掉這條數據,仍是用臨近的值去補全,這些都是須要考慮的問題。
對於數據預處理,學會 pandas/Numpy (Python包)的用法,應對通常的數據清洗就徹底沒問題了。須要掌握的知識點以下:
數據清洗一般被視爲髒活,但事實上這步很是重要,這直接決定了你的分析結論的準確性,決定你的項目是否能順利進行下去。
- ❹ -
數據分析與可視化
這個是從數據中發現信息、挖掘價值的過程,大多數的結論在這個步驟產生,主要作兩件事情。
一是對於既定的數據分析主題進行拆解,評估須要從哪些維度進行分析,提取哪些數據,這個步驟很大程度上來源於經驗或者對於具體事務的理解;
二是經過探索數據分佈的規律、數據的特徵,發現從表面看不到的信息,完成這個流程主要是經過數據自己進行探索。
前者對應的是描述性的數據分析,主要考慮數據的指標,看從不一樣的角度去描述數據可以得出哪些結論。
這個地方就須要對統計學的相關知識有必定的瞭解,好比:
後者則是探索型的數據分析,主要經過繪製數據的分佈圖形,來觀察數據的分佈規律,從而提取隱藏的某些信息。
這裏就須要對掌握可視化的技能,Python中的Matplotlib/Seaborn均可以完成可視化的工做。可視化既是探索性分析的工具,也能夠輸出最終結果呈現的圖形。
固然,還有一種是預測型的數據分析,須要構建模型來預測將來數據,我在推文中用的比較少,但在企業中應用很是多。
作數據分析的話,會用好比線性迴歸、邏輯迴歸、決策樹等這些基本的算法,用於解決基本的迴歸和分類問題,就OK了。
獲取更多專業課程或優質內容,可前往咱們的網站進行查閱:
https://www.cda.cn/?seo-segme...
也能夠搜索進入咱們的小程序,解鎖更多精彩內容和專業資訊: