0. 如何入門數(shù)據(jù)分析

關(guān)注沙漠之鷹的同學(xué)一定看過沙漠君寫得很多篇數(shù)據(jù)分析文章,比如分析房價(jià),車價(jià),預(yù)測機(jī)動(dòng)車搖號(hào)這些話題。其實(shí)文章中所有的分析都使用了Python和它非常強(qiáng)大的數(shù)據(jù)分析庫Pandas。一些機(jī)器學(xué)習(xí)和預(yù)測的功能則用到了sklearn庫。掌握了這些工具,就能應(yīng)對絕大多數(shù)的分析需求。

紙上得來終覺淺,即使你看了很多書和代碼,也未必比得上多接觸例子多敲一些代碼,三四個(gè)中等規(guī)模(約一兩百行代碼的)的案例就能讓你有整體的把握。至于數(shù)據(jù)采集,沙漠之鷹有開源的數(shù)據(jù)抓取工具Hawk,網(wǎng)上也有眾多如何獲取數(shù)據(jù)的教程,因此本文不再詳述。

系列文章分為三個(gè)部分:

  • 1) 查詢與統(tǒng)計(jì)

  • 2) 可視化和高級(jí)用法

  • 3) 分類和預(yù)測(估計(jì)會(huì)分為幾篇文章)

好了,廢話不多說,進(jìn)入正題。

1. 找到好的問題

好的問題其實(shí)比答案更重要。人認(rèn)識(shí)問題,分為四種級(jí)別:

  1. 我們知道自己知道的(房價(jià)在漲)

  2. 知道自己不知道的(可度量的信息,如房價(jià)平均漲幅)

  3. 不知道自己知道的(如證明搖號(hào)系統(tǒng)漏洞)

  4. 不知道自己不知道的(最有價(jià)值,蘊(yùn)含著最大的機(jī)會(huì))

沙漠君期待于尋找3-4層級(jí)的問題,可是多數(shù)情況只能在第1和第2檔上徘徊。當(dāng)你發(fā)現(xiàn)一個(gè)問題之后,還需要思考3個(gè)問題:

  • 我是否找到了一個(gè)值得解決的問題?

  • 我是否提出了一個(gè)足夠好的解決方案

  • 我真的想去解決這個(gè)問題嗎?

最后的動(dòng)機(jī)往往反映了你能解決該問題的最大極限,很多人也許僅僅是完成任務(wù),因此有了一點(diǎn)成果便停滯不前,錯(cuò)過了最大的金礦。數(shù)據(jù)的質(zhì)量比數(shù)量更重要,如果不知道什么樣的數(shù)據(jù)更重要,即使擁有更多的數(shù)據(jù)也只會(huì)造成嘔吐。數(shù)據(jù)分析需要專注,需要從紛繁的圖表和信息中找到問題核心。

通常來說,人們對變化的指標(biāo)更感興趣,因此比率和增長幅度比靜態(tài)的數(shù)據(jù)更有說服力。而變化又分長短期,不同維度得出的結(jié)論往往全然不同。相關(guān)性很好,因果性更佳。有了因果性,便有了改變未來的能力。

下圖展示了數(shù)據(jù)分析的一般流程(圖片來自網(wǎng)絡(luò)):

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

統(tǒng)計(jì)的三大核心:分組(map),聚合(reduce),排序(sort)。它們用的是如此普遍,因此MapReduce管道框架成了數(shù)據(jù)分析的標(biāo)準(zhǔn),也非常適合做多機(jī)并行化。分組和排序很好理解,聚合指的是對各組內(nèi)容做求和,分組等。

絕大部分?jǐn)?shù)據(jù)分析操作,都可以通過查詢,分組,聚合,排序四個(gè)元素進(jìn)行級(jí)聯(lián)組合進(jìn)行。因此掌握這四大天王,應(yīng)付一般的場景就都無問題了。 (這應(yīng)該是這篇文章最重要的一句話了)

2. 查詢和過濾

DataFrame是pandas的核心數(shù)據(jù)結(jié)構(gòu),可以理解為Excel里的二維矩陣,它更高級(jí),能表達(dá)3維或更高維的數(shù)據(jù),支持多索引。在內(nèi)存中存取,效率極高,絕