Python数据分析很难学?60天就够了!
廣泛被應(yīng)用的數(shù)據(jù)分析
谷歌的數(shù)據(jù)分析可以預(yù)測(cè)一個(gè)地區(qū)即將爆發(fā)的流感,從而進(jìn)行針對(duì)性的預(yù)防;淘寶可以根據(jù)你瀏覽和消費(fèi)的數(shù)據(jù)進(jìn)行分析,為你精準(zhǔn)推薦商品;口碑極好的網(wǎng)易云音樂(lè),通過(guò)其相似性算法,為不同的人量身定制每日歌單……
數(shù)據(jù)正在變得越來(lái)越常見(jiàn),小到我們每個(gè)人的社交網(wǎng)絡(luò)、消費(fèi)信息、運(yùn)動(dòng)軌跡……,大到企業(yè)的銷(xiāo)售、運(yùn)營(yíng)數(shù)據(jù),產(chǎn)品的生產(chǎn)數(shù)據(jù),交通網(wǎng)絡(luò)數(shù)據(jù)……
如何從海量數(shù)據(jù)中獲得別人看不見(jiàn)的知識(shí),如何利用數(shù)據(jù)來(lái)武裝營(yíng)銷(xiāo)工作、優(yōu)化產(chǎn)品、用戶調(diào)研、支撐決策,數(shù)據(jù)分析可以將數(shù)據(jù)的價(jià)值最大化。
數(shù)據(jù)分析人才熱度也是高居不下,一方面企業(yè)的數(shù)據(jù)量在大規(guī)模的增長(zhǎng),對(duì)于數(shù)據(jù)分析的需求與日俱增;另一方面,相比起其他的技術(shù)職位,數(shù)據(jù)分析師的候選者要少得多。
那么,小白如何快速獲得數(shù)據(jù)分析的能力呢?知乎上有很多書(shū)單,你可能也聽(tīng)過(guò)很多學(xué)習(xí)方法,但嘗試過(guò)就知道這些跟高效沒(méi)什么關(guān)系。
數(shù)據(jù)分析師應(yīng)該具備哪些技能
要明確學(xué)習(xí)的路徑,最有效的方式就是看具體的職業(yè)、工作崗位對(duì)于技能的具體需求。
我們從拉勾上找了一些最具有代表性的數(shù)據(jù)分析師職位信息,來(lái)看看薪資不菲的數(shù)據(jù)分析師,到底需要哪些技能。
其實(shí)企業(yè)對(duì)數(shù)據(jù)分析師的基礎(chǔ)技能需求差別不大,可總結(jié)如下:
- SQL數(shù)據(jù)庫(kù)的基本操作,會(huì)基本的數(shù)據(jù)管理
- 會(huì)用Excel/SQL做基本的數(shù)據(jù)分析和展示
- 會(huì)用腳本語(yǔ)言進(jìn)行數(shù)據(jù)分析,Python or R
- 有獲取外部數(shù)據(jù)的能力,如爬蟲(chóng)
- 會(huì)基本的數(shù)據(jù)可視化技能,能撰寫(xiě)數(shù)據(jù)報(bào)告
- 熟悉常用的數(shù)據(jù)挖掘算法:以回歸分析為主
其次是數(shù)據(jù)分析的流程,一般可以按“數(shù)據(jù)獲取-數(shù)據(jù)存儲(chǔ)與提取-數(shù)據(jù)預(yù)處理-數(shù)據(jù)建模與分析-數(shù)據(jù)可視化”這樣的步驟來(lái)實(shí)施一個(gè)數(shù)據(jù)分析項(xiàng)目。按照這個(gè)流程,每個(gè)部分需要掌握的細(xì)分知識(shí)點(diǎn)如下:
高效的學(xué)習(xí)路徑是什么?就是數(shù)據(jù)分析的這個(gè)流程。按這樣的順序循序漸進(jìn),你會(huì)知道每個(gè)部分需要完成的目標(biāo)是什么,需要學(xué)習(xí)哪些知識(shí)點(diǎn),哪些知識(shí)是暫時(shí)不必要的。
接下來(lái)我們分別從每一個(gè)部分講講具體應(yīng)該學(xué)什么、怎么學(xué)。
- ? -
數(shù)據(jù)獲取:公開(kāi)數(shù)據(jù)、Python爬蟲(chóng)
外部數(shù)據(jù)的獲取方式主要有以下兩種。
第一種是獲取外部的公開(kāi)數(shù)據(jù)集,一些科研機(jī)構(gòu)、企業(yè)、政府會(huì)開(kāi)放一些數(shù)據(jù),你需要到特定的網(wǎng)站去下載這些數(shù)據(jù)。這些數(shù)據(jù)集通常比較完善、質(zhì)量相對(duì)較高。給大家推薦一些常用的可以獲取數(shù)據(jù)集的網(wǎng)站:
UCI:加州大學(xué)歐文分校開(kāi)放的經(jīng)典數(shù)據(jù)集,被很多數(shù)據(jù)挖掘?qū)嶒?yàn)室采用。
http://archive.ics.uci.edu/ml/datasets.html
國(guó)家數(shù)據(jù):數(shù)據(jù)來(lái)源于中國(guó)國(guó)家統(tǒng)計(jì)局,包含了我國(guó)經(jīng)濟(jì)民生等多個(gè)方面的數(shù)據(jù)。
http://data.stats.gov.cn/
CEIC:超過(guò)128個(gè)國(guó)家的經(jīng)濟(jì)數(shù)據(jù),能精確查找GDP、進(jìn)出口零售,銷(xiāo)售等深度數(shù)據(jù)。
http://www.ceicdata.com/zh-hans
中國(guó)統(tǒng)計(jì)信息網(wǎng):國(guó)家統(tǒng)計(jì)局官方網(wǎng)站,匯集了國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展統(tǒng)計(jì)信息。
http://www.tjcn.org/
優(yōu)易數(shù)據(jù):由國(guó)家信息中心發(fā)起,國(guó)內(nèi)領(lǐng)先的數(shù)據(jù)交易平臺(tái),很多免費(fèi)數(shù)據(jù)。
http://www.youedata.com/
另一種獲取外部數(shù)據(jù)的方式就是爬蟲(chóng)。
比如你可以通過(guò)爬蟲(chóng)獲取招聘網(wǎng)站某一職位的招聘信息,爬取租房網(wǎng)站上某城市的租房信息,爬取豆瓣評(píng)分評(píng)分最高的電影列表,獲取知乎點(diǎn)贊排行、網(wǎng)易云音樂(lè)評(píng)論排行列表。基于互聯(lián)網(wǎng)爬取的數(shù)據(jù),你可以對(duì)某個(gè)行業(yè)、某種人群進(jìn)行分析。
在爬蟲(chóng)之前你需要先了解一些 Python 的基礎(chǔ)知識(shí):元素(列表、字典、元組等)、變量、循環(huán)、函數(shù)………
以及,如何用 Python 庫(kù)(urllib、BeautifulSoup、requests、scrapy)實(shí)現(xiàn)網(wǎng)頁(yè)爬蟲(chóng)。如果是初學(xué),建議從 urllib+BeautifulSoup 開(kāi)始。
常用的的電商網(wǎng)站、問(wèn)答網(wǎng)站、二手交易網(wǎng)站、婚戀網(wǎng)站、招聘網(wǎng)站等,都可以爬到非常有價(jià)值的數(shù)據(jù)。
- ? -
數(shù)據(jù)存取:SQL語(yǔ)言
在應(yīng)對(duì)萬(wàn)以內(nèi)的數(shù)據(jù)的時(shí)候,Excel對(duì)于一般的分析沒(méi)有問(wèn)題,一旦數(shù)據(jù)量大,就會(huì)力不從心,數(shù)據(jù)庫(kù)就能夠很好地解決這個(gè)問(wèn)題。而且大多數(shù)的企業(yè),都會(huì)以SQL的形式來(lái)存儲(chǔ)數(shù)據(jù),如果你是一個(gè)分析師,也至少要懂得SQL的操作,能夠查詢、提取公司的數(shù)據(jù)。
SQL作為最經(jīng)典的數(shù)據(jù)庫(kù)工具,為海量數(shù)據(jù)的存儲(chǔ)與管理提供可能,并且使數(shù)據(jù)的提取的效率大大提升。你需要掌握以下技能:
- 提取特定情況下的數(shù)據(jù):企業(yè)數(shù)據(jù)庫(kù)里的數(shù)據(jù)一定是大而繁復(fù)的,你需要提取你需要的那一部分。比如你可以根據(jù)你的需要提取2017年所有的銷(xiāo)售數(shù)據(jù)、提取今年銷(xiāo)量最大的50件商品的數(shù)據(jù)、提取上海、廣東地區(qū)用戶的消費(fèi)數(shù)據(jù)……,SQL可以通過(guò)簡(jiǎn)單的命令幫你完成這些工作。
- 數(shù)據(jù)庫(kù)的增、刪、查、改:這些是數(shù)據(jù)庫(kù)最基本的操作,但只要用簡(jiǎn)單的命令就能夠?qū)崿F(xiàn),所以你只需要記住命令就好。
- 數(shù)據(jù)的分組聚合、如何建立多個(gè)表之間的聯(lián)系:這個(gè)部分是SQL的進(jìn)階操作,多個(gè)表之間的關(guān)聯(lián),在你處理多維度、多個(gè)數(shù)據(jù)集的時(shí)候非常有用,這也讓你可以去處理更復(fù)雜的數(shù)據(jù)。
SQL這部分比較簡(jiǎn)單,主要是掌握一些基本的語(yǔ)句。當(dāng)然,還是建議你找?guī)讉€(gè)數(shù)據(jù)集來(lái)實(shí)際操作一下,哪怕是最基礎(chǔ)的查詢、提取等。
- ? -
數(shù)據(jù)預(yù)處理:Python(pandas)
很多時(shí)候我們拿到的數(shù)據(jù)是不干凈的,數(shù)據(jù)的重復(fù)、缺失、異常值等等,這時(shí)候就需要進(jìn)行數(shù)據(jù)的清洗,把這些影響分析的數(shù)據(jù)處理好,才能獲得更加精確地分析結(jié)果。
比如銷(xiāo)售數(shù)據(jù),有一些渠道的銷(xiāo)售是沒(méi)有及時(shí)錄入的,有一些數(shù)據(jù)是記錄重復(fù)的。比如用戶行為數(shù)據(jù),有很多無(wú)效的操作對(duì)分析沒(méi)有意義,就需要進(jìn)行刪除。
那么我們需要用相應(yīng)的方法去處理,比如殘缺數(shù)據(jù),我們是直接去掉這條數(shù)據(jù),還是用臨近的值去補(bǔ)全,這些都是需要考慮的問(wèn)題。
對(duì)于數(shù)據(jù)預(yù)處理,學(xué)會(huì) pandas (Python包)的用法,應(yīng)對(duì)一般的數(shù)據(jù)清洗就完全沒(méi)問(wèn)題了。需要掌握的知識(shí)點(diǎn)如下:
- 選擇:數(shù)據(jù)訪問(wèn)(標(biāo)簽、特定值、布爾索引等)
- 缺失值處理:對(duì)缺失數(shù)據(jù)行進(jìn)行刪除或填充
- 重復(fù)值處理:重復(fù)值的判斷與刪除
- 異常值處理:清除不必要的空格和極端、異常數(shù)據(jù)
- 相關(guān)操作:描述性統(tǒng)計(jì)、Apply、直方圖等
- 合并:符合各種邏輯關(guān)系的合并操作
- 分組:數(shù)據(jù)劃分、分別執(zhí)行函數(shù)、數(shù)據(jù)重組
- Reshaping:快速生成數(shù)據(jù)透視表
網(wǎng)上有很多 pandas 的教程,主要是一些函數(shù)的應(yīng)用,也都非常簡(jiǎn)單,可查 pandas 官方文檔。
- ? -
概率論及統(tǒng)計(jì)學(xué)知識(shí)
數(shù)據(jù)整體分布是怎樣的?什么是總體和樣本?中位數(shù)、眾數(shù)、均值、方差等基本的統(tǒng)計(jì)量如何應(yīng)用?如何在不同的場(chǎng)景中做假設(shè)檢驗(yàn)?數(shù)據(jù)分析方法大多源于統(tǒng)計(jì)學(xué)的概念,所以統(tǒng)計(jì)學(xué)的知識(shí)也是必不可少的。需要掌握的知識(shí)點(diǎn)如下:
- 基本統(tǒng)計(jì)量:均值、中位數(shù)、眾數(shù)、百分位數(shù)、極值等
- 其他描述性統(tǒng)計(jì)量:偏度、方差、標(biāo)準(zhǔn)差、顯著性等
- 其他統(tǒng)計(jì)知識(shí):總體和樣本、參數(shù)和統(tǒng)計(jì)量、ErrorBar
- 概率分布與假設(shè)檢驗(yàn):各種分布、假設(shè)檢驗(yàn)流程
- 其他概率論知識(shí):條件概率、貝葉斯等
有了統(tǒng)計(jì)學(xué)的基本知識(shí),你就可以用這些統(tǒng)計(jì)量做基本的分析了。通過(guò)可視化的方式來(lái)描述數(shù)據(jù)的指標(biāo),其實(shí)可以得出很多結(jié)論了:比如排名前100的是哪些,平均水平是怎樣的,近幾年的變化趨勢(shì)如何……
你可以使用 Seaborn、matplotlib 等(python包)做一些可視化的分析,通過(guò)各種可視化統(tǒng)計(jì)圖,并得出具有指導(dǎo)意義的結(jié)果。
- ? -
Python 數(shù)據(jù)分析
如果你有一些了解的話,就知道目前市面上其實(shí)有很多 Python 數(shù)據(jù)分析的書(shū)籍,但每一本都很厚,學(xué)習(xí)阻力非常大。但其實(shí)真正最有用的那部分信息,只是這些書(shū)里很少的一部分。
比如掌握回歸分析的方法,通過(guò)線性回歸和邏輯回歸,其實(shí)你就可以對(duì)大多數(shù)的數(shù)據(jù)進(jìn)行回歸分析,并得出相對(duì)精確地結(jié)論。這部分需要掌握的知識(shí)點(diǎn)如下:
- 回歸分析:線性回歸、邏輯回歸
- 基本的分類算法:決策樹(shù)、隨機(jī)森林……
- 基本的聚類算法:k-means……
- 特征工程基礎(chǔ):如何用特征選擇優(yōu)化模型
- 調(diào)參方法:如何調(diào)節(jié)參數(shù)優(yōu)化模型
- Python 數(shù)據(jù)分析包:scipy、numpy、scikit-learn等
在數(shù)據(jù)分析的這個(gè)階段,重點(diǎn)了解回歸分析的方法,大多數(shù)的問(wèn)題可以得以解決,利用描述性的統(tǒng)計(jì)分析和回歸分析,你完全可以得到一個(gè)不錯(cuò)的分析結(jié)論。
然后你會(huì)知道面對(duì)不同類型的問(wèn)題的時(shí)候更適合用哪種算法模型,對(duì)于模型的優(yōu)化,你需要去學(xué)習(xí)如何通過(guò)特征提取、參數(shù)調(diào)節(jié)來(lái)提升預(yù)測(cè)的精度。這就有點(diǎn)數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的味道了,其實(shí)一個(gè)好的數(shù)據(jù)分析師,應(yīng)該算是一個(gè)初級(jí)的數(shù)據(jù)挖掘工程師了。
你可以通過(guò) Python 中的 scikit-learn 庫(kù)來(lái)實(shí)現(xiàn)數(shù)據(jù)分析、數(shù)據(jù)挖掘建模和分析的全過(guò)程。
- ? -
系統(tǒng)實(shí)戰(zhàn)與數(shù)據(jù)思維
到這個(gè)時(shí)候,你就已經(jīng)具備了數(shù)據(jù)分析的基本能力了。但是還要根據(jù)不同的案例、不同的業(yè)務(wù)場(chǎng)景進(jìn)行實(shí)戰(zhàn),練習(xí)解決實(shí)際問(wèn)題的能力。
上面提到的公開(kāi)數(shù)據(jù)集,可以找一些自己感興趣的方向的數(shù)據(jù),嘗試從不同的角度來(lái)分析,看看能夠得到哪些有價(jià)值的結(jié)論。
你也可以從生活、工作中去發(fā)現(xiàn)一些可用于分析的問(wèn)題,比如上面說(shuō)到的電商、招聘、社交等平臺(tái)等數(shù)據(jù)中都有著很多可以挖掘的問(wèn)題。
開(kāi)始的時(shí)候,你可能考慮的問(wèn)題不是很周全,但隨著你經(jīng)驗(yàn)的積累,慢慢就會(huì)找到分析的方向,有哪些一般分析的維度,比如Top榜單、平均水平、區(qū)域分布、同比環(huán)比、相關(guān)性分析、未來(lái)趨勢(shì)預(yù)測(cè)等等。隨著經(jīng)驗(yàn)的增加,你會(huì)有一些自己對(duì)于數(shù)據(jù)的感覺(jué),這就是我們通常說(shuō)的數(shù)據(jù)思維了。
零基礎(chǔ)學(xué)習(xí)數(shù)據(jù)分析,坑確實(shí)比較多,總結(jié)如下:
- 1.環(huán)境配置,工具安裝、環(huán)境變量,對(duì)小白太不友好;
- 2.缺少合理的學(xué)習(xí)路徑,上來(lái) Python、HTML 各種學(xué),極其容易放棄;
- 3.Python有很多包、框架可以選擇,不知道哪個(gè)更友好;
- 4.遇到問(wèn)題找不到解決辦法,學(xué)習(xí)停滯不前;
- 5.網(wǎng)上的資料非常零散,而且對(duì)小白不友好,很多看起來(lái)云里霧里;
- 6.懂得技巧,但面對(duì)具體問(wèn)題無(wú)法系統(tǒng)思考和分析;
- ……………………
想學(xué)習(xí)Python數(shù)據(jù)分析的知識(shí)點(diǎn)么?
轉(zhuǎn)載于:https://juejin.im/post/5bf16878e51d4552da47d306
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Python数据分析很难学?60天就够了!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: group by 练习
- 下一篇: Python入门第三章--第一节:条件判