1. 程式人生 > >Python資料分析很難學?60天就夠了!

Python資料分析很難學?60天就夠了!

廣泛被應用的資料分析

谷歌的資料分析可以預測一個地區即將爆發的流感,從而進行鍼對性的預防;淘寶可以根據你瀏覽和消費的資料進行分析,為你精準推薦商品;口碑極好的網易雲音樂,通過其相似性演算法,為不同的人量身定製每日歌單……

 

 

資料正在變得越來越常見,小到我們每個人的社交網路、消費資訊、運動軌跡……,大到企業的銷售、運營資料,產品的生產資料,交通網路資料……

 

如何從海量資料中獲得別人看不見的知識,如何利用資料來武裝營銷工作、優化產品、使用者調研、支撐決策,資料分析可以將資料的價值最大化。

領取福利加python程式語言學習QQ群 515267276

資料分析人才熱度也是高居不下,一方面企業的資料量在大規模的增長,對於資料分析的需求與日俱增;另一方面,相比起其他的技術職位,資料分析師的候選者要少得多。

 

 

那麼,小白如何快速獲得資料分析的能力呢?知乎上有很多書單,你可能也聽過很多學習方法,但嘗試過就知道這些跟高效沒什麼關係。

 

 

 

資料分析師應該具備哪些技能

 

要明確學習的路徑,最有效的方式就是看具體的職業、工作崗位對於技能的具體需求。

 

我們從拉勾上找了一些最具有代表性的資料分析師職位資訊,來看看薪資不菲的資料分析師,到底需要哪些技能。

其實企業對資料分析師的基礎技能需求差別不大,可總結如下:

  • SQL資料庫的基本操作,會基本的資料管理

  • 會用Excel/SQL做基本的資料分析和展示

  • 會用指令碼語言進行資料分析,Python or R

  • 有獲取外部資料的能力,如爬蟲

  • 會基本的資料視覺化技能,能撰寫資料報告

  • 熟悉常用的資料探勘演算法:以迴歸分析為主

領取福利加python程式語言學習QQ群 515267276

 

其次是資料分析的流程,一般可以按“資料獲取-資料儲存與提取-資料預處理-資料建模與分析-資料視覺化”這樣的步驟來實施一個數據分析專案。按照這個流程,每個部分需要掌握的細分知識點如下:

高效的學習路徑是什麼?就是資料分析的這個流程。按這樣的順序循序漸進,你會知道每個部分需要完成的目標是什麼,需要學習哪些知識點,哪些知識是暫時不必要的。

 

接下來我們分別從每一個部分講講具體應該學什麼、怎麼學。

 

 

 

- ❶ -

資料獲取:公開資料、Python爬蟲

 

外部資料的獲取方式主要有以下兩種。

 

第一種是獲取外部的公開資料集,一些科研機構、企業、政府會開放一些資料,你需要到特定的網站去下載這些資料。這些資料集通常比較完善、質量相對較高。給大家推薦一些常用的可以獲取資料集的網站:

 

UCI:加州大學歐文分校開放的經典資料集,被很多資料探勘實驗室採用。

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

 

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

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

 

CEIC:超過128個國家的經濟資料,能精確查詢GDP、進出口零售,銷售等深度資料。

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

 

中國統計資訊網:國家統計局官方網站,彙集了國民經濟和社會發展統計資訊。

http://www.tjcn.org/

 

優易資料:由國家資訊中心發起,國內領先的資料交易平臺,很多免費資料。

http://www.youedata.com/

 

 

另一種獲取外部資料的方式就是爬蟲。

 

比如你可以通過爬蟲獲取招聘網站某一職位的招聘資訊,爬取租房網站上某城市的租房資訊,爬取豆瓣評分評分最高的電影列表,獲取知乎點贊排行、網易雲音樂評論排行列表。基於網際網路爬取的資料,你可以對某個行業、某種人群進行分析。

 

在爬蟲之前你需要先了解一些 Python 的基礎知識:元素(列表、字典、元組等)、變數、迴圈、函式………

 

以及,如何用 Python 庫(urllib、BeautifulSoup、requests、scrapy)實現網頁爬蟲。如果是初學,建議從 urllib+BeautifulSoup 開始。

 

常用的的電商網站、問答網站、二手交易網站、婚戀網站、招聘網站等,都可以爬到非常有價值的資料。

 

 

 

- ❷ -

資料存取:SQL語言

 

在應對萬以內的資料的時候,Excel對於一般的分析沒有問題,一旦資料量大,就會力不從心,資料庫就能夠很好地解決這個問題。而且大多數的企業,都會以SQL的形式來儲存資料,如果你是一個分析師,也至少要懂得SQL的操作,能夠查詢、提取公司的資料

 

SQL作為最經典的資料庫工具,為海量資料的儲存與管理提供可能,並且使資料的提取的效率大大提升。你需要掌握以下技能:

 

  • 提取特定情況下的資料:企業資料庫裡的資料一定是大而繁複的,你需要提取你需要的那一部分。比如你可以根據你的需要提取2017年所有的銷售資料、提取今年銷量最大的50件商品的資料、提取上海、廣東地區使用者的消費資料……,SQL可以通過簡單的命令幫你完成這些工作。

     

  • 資料庫的增、刪、查、改:這些是資料庫最基本的操作,但只要用簡單的命令就能夠實現,所以你只需要記住命令就好。

     

  • 資料的分組聚合、如何建立多個表之間的聯絡:這個部分是SQL的進階操作,多個表之間的關聯,在你處理多維度、多個數據集的時候非常有用,這也讓你可以去處理更復雜的資料。

 

SQL這部分比較簡單,主要是掌握一些基本的語句。當然,還是建議你找幾個資料集來實際操作一下,哪怕是最基礎的查詢、提取等。

 

 

 

- ❸ -

資料預處理:Python(pandas)

 

很多時候我們拿到的資料是不乾淨的,資料的重複、缺失、異常值等等,這時候就需要進行資料的清洗,把這些影響分析的資料處理好,才能獲得更加精確地分析結果。

 

比如銷售資料,有一些渠道的銷售是沒有及時錄入的,有一些資料是記錄重複的。比如使用者行為資料,有很多無效的操作對分析沒有意義,就需要進行刪除。

 

那麼我們需要用相應的方法去處理,比如殘缺資料,我們是直接去掉這條資料,還是用臨近的值去補全,這些都是需要考慮的問題。

 

對於資料預處理,學會 pandas (Python包)的用法,應對一般的資料清洗就完全沒問題了。需要掌握的知識點如下:

 

  • 選擇:資料訪問(標籤、特定值、布林索引等)

  • 缺失值處理:對缺失資料行進行刪除或填充

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

  • 異常值處理:清除不必要的空格和極端、異常資料

  • 相關操作:描述性統計、Apply、直方圖等

  • 合併:符合各種邏輯關係的合併操作

  • 分組:資料劃分、分別執行函式、資料重組

  • Reshaping:快速生成資料透視表

 

網上有很多 pandas 的教程,主要是一些函式的應用,也都非常簡單,可查 pandas 官方文件。

 

 

領取福利加python程式語言學習QQ群 515267276

- ❹ -

概率論及統計學知識

 

資料整體分佈是怎樣的?什麼是總體和樣本?中位數、眾數、均值、方差等基本的統計量如何應用?如何在不同的場景中做假設檢驗?資料分析方法大多源於統計學的概念,所以統計學的知識也是必不可少的。需要掌握的知識點如下:

 

  • 基本統計量:均值、中位數、眾數、百分位數、極值等

  • 其他描述性統計量:偏度、方差、標準差、顯著性等

  • 其他統計知識:總體和樣本、引數和統計量、ErrorBar

  • 概率分佈與假設檢驗:各種分佈、假設檢驗流程

  • 其他概率論知識:條件概率、貝葉斯等

 

有了統計學的基本知識,你就可以用這些統計量做基本的分析了。通過視覺化的方式來描述資料的指標,其實可以得出很多結論了:比如排名前100的是哪些,平均水平是怎樣的,近幾年的變化趨勢如何……

 

你可以使用 Seaborn、matplotlib 等(python包)做一些視覺化的分析,通過各種視覺化統計圖,並得出具有指導意義的結果。

 

 

 

- ❺ -

Python 資料分析

 

如果你有一些瞭解的話,就知道目前市面上其實有很多 Python 資料分析的書籍,但每一本都很厚,學習阻力非常大。但其實真正最有用的那部分資訊,只是這些書裡很少的一部分。

 

比如掌握迴歸分析的方法,通過線性迴歸和邏輯迴歸,其實你就可以對大多數的資料進行迴歸分析,並得出相對精確地結論。這部分需要掌握的知識點如下:

 

  • 迴歸分析:線性迴歸、邏輯迴歸

  • 基本的分類演算法:決策樹、隨機森林……

  • 基本的聚類演算法:k-means……

  • 特徵工程基礎:如何用特徵選擇優化模型

  • 調參方法:如何調節引數優化模型

  • Python 資料分析包:scipy、numpy、scikit-learn等

 

在資料分析的這個階段,重點了解迴歸分析的方法,大多數的問題可以得以解決,利用描述性的統計分析和迴歸分析,你完全可以得到一個不錯的分析結論。

 

然後你會知道面對不同型別的問題的時候更適合用哪種演算法模型,對於模型的優化,你需要去學習如何通過特徵提取、引數調節來提升預測的精度。這就有點資料探勘和機器學習的味道了,其實一個好的資料分析師,應該算是一個初級的資料探勘工程師了。

 

你可以通過 Python 中的 scikit-learn 庫來實現資料分析、資料探勘建模和分析的全過程。

 

 

 

- ❻ -

系統實戰與資料思維

 

到這個時候,你就已經具備了資料分析的基本能力了。但是還要根據不同的案例、不同的業務場景進行實戰,練習解決實際問題的能力。

 

上面提到的公開資料集,可以找一些自己感興趣的方向的資料,嘗試從不同的角度來分析,看看能夠得到哪些有價值的結論。

 

你也可以從生活、工作中去發現一些可用於分析的問題,比如上面說到的電商、招聘、社交等平臺等資料中都有著很多可以挖掘的問題。

 

開始的時候,你可能考慮的問題不是很周全,但隨著你經驗的積累,慢慢就會找到分析的方向,有哪些一般分析的維度,比如Top榜單、平均水平、區域分佈、同比環比、相關性分析、未來趨勢預測等等。隨著經驗的增加,你會有一些自己對於資料的感覺,這就是我們通常說的資料思維了。

 

 

零基礎學習資料分析,坑確實比較多,總結如下:

  • 1.環境配置,工具安裝、環境變數,對小白太不友好;

  • 2.缺少合理的學習路徑,上來 Python、HTML 各種學,極其容易放棄;

  • 3.Python有很多包、框架可以選擇,不知道哪個更友好;

  • 4.遇到問題找不到解決辦法,學習停滯不前;

  • 5.網上的資料非常零散,而且對小白不友好,很多看起來雲裡霧裡;

  • 6.懂得技巧,但面對具體問題無法系統思考和分析;

  • ……………………