推薦序
我個(gè)人從事數(shù)據(jù)挖掘及大數(shù)據(jù)分析工作已經(jīng)超過25 年。對(duì)于要如何成為一個(gè)好的數(shù)據(jù)科學(xué)家,我個(gè)人認(rèn)為要具備以下三個(gè)特質(zhì):
是對(duì)數(shù)據(jù)的熱愛,見到數(shù)據(jù)就像見到心儀的人一樣,想去親近它,想去了解它。
第二是對(duì)相關(guān)數(shù)據(jù)分析工具的純熟運(yùn)用,讓你能隨心所欲地駕馭數(shù)據(jù)。
第三是懂得如何將數(shù)據(jù)分析與行業(yè)領(lǐng)域知識(shí)相結(jié)合,讓數(shù)據(jù)分析能有效地協(xié)助領(lǐng)導(dǎo)做出適當(dāng)?shù)臎Q策。
我所認(rèn)識(shí)的零一就是具備這三項(xiàng)特質(zhì)的一個(gè)人。聽到他要出書,我很高興,因?yàn)閷?duì)于熱愛數(shù)據(jù)分析的工作者又有福了。
零一的這本書從數(shù)據(jù)挖掘及商業(yè)數(shù)據(jù)分析的基礎(chǔ)開始,循序漸進(jìn)地引導(dǎo)讀者,熟悉相關(guān)的數(shù)據(jù)分析的概念及工具。之后用市場(chǎng)分析、店鋪數(shù)據(jù)化運(yùn)營(yíng)、數(shù)字營(yíng)銷及銷售預(yù)測(cè)等案例,讓讀者了解如何將數(shù)據(jù)分析與零售和電子商務(wù)的實(shí)務(wù)進(jìn)行完美的結(jié)合。本書的整體編排及架構(gòu)我很喜歡,相信讀完此書的人也會(huì)有同樣的感受。
我們近經(jīng)常聽到一句話就是,機(jī)器及將取代人力,因此還嚇壞了許多人。其實(shí)從我的角度來說,要取代人的機(jī)器,還是人設(shè)計(jì)出來的。因此,解決這個(gè)問題的關(guān)鍵就是你自己。不僅僅機(jī)器需要深度學(xué)習(xí),更需要深度學(xué)習(xí)的還是我們自己。零一的這本書就是大家開始深度學(xué)習(xí)的基礎(chǔ),是值得推薦的一本好書。
李御璽(Yue-Shi Lee)
臺(tái)灣大學(xué)資訊工程博士
銘傳大學(xué)資訊工程學(xué)系教授
中華資料采礦協(xié)會(huì)理事
前言
Python 已經(jīng)成為時(shí)下熱門的計(jì)算機(jī)語言之一,應(yīng)用范圍十分廣泛,甚至進(jìn)入了小學(xué)課堂。目前許多書籍內(nèi)容還是以學(xué)習(xí)如何使用Python 工具為主,在實(shí)際應(yīng)用方面相對(duì)較少,特別是在零售分析方面的應(yīng)用少之又少。大部分企業(yè)做數(shù)據(jù)分析還是以Excel 為主。在這個(gè)背景之下,筆者寫這本書是為了能把Python 帶入普通企業(yè)中。
Excel 能做的事情,Python 都可以完成,但是Python 能做的事情,Excel 未必可以做。
全書分為6 章。第1 章介紹Python 基礎(chǔ);第2 章重點(diǎn)介紹數(shù)據(jù)采集、數(shù)據(jù)庫,以及常用的NumPy、Pandas、matplotlib 庫;第3 章重點(diǎn)介紹市場(chǎng)分析案例;第4 章重點(diǎn)介紹SEO、推廣方案和競(jìng)品分析的案例;第5 章重點(diǎn)介紹數(shù)字營(yíng)銷案例;第6章重點(diǎn)介紹銷售預(yù)測(cè)案例。
這本書對(duì)Python 零基礎(chǔ)的讀者較不友好,建議Python 零基礎(chǔ)的讀者配套基礎(chǔ)入門書籍學(xué)習(xí)。讀者如果具備Python 基礎(chǔ),可以直接從第2 章讀起。考慮到數(shù)據(jù)的敏感性和難度,本書案例在數(shù)據(jù)上做了部分精簡(jiǎn),目前保留的案例數(shù)據(jù)集的只有500MB,從學(xué)習(xí)和掌握本書所述方法的角度,可以滿足需求。
后,鑒于作者的水平有限,書中存在的不足之處請(qǐng)讀者諒解。
作者
2021 年5 月
1 Python 基礎(chǔ) 1
1.1 安裝Python 環(huán)境 2
1.1.1 Python 3.6.2 安裝與配置 2
1.1.2 獲取PyCharm 4
1.1.3 獲取Anaconda 4
1.2 Python 操作入門 6
1.2.1 編寫段Python 代碼 6
1.2.2 Python 基本操作 9
1.2.3 Python 變量 11
1.2.4 Python 數(shù)據(jù)類型 11
1.2.5 Python 控制語句與函數(shù) 17
1.2.6 Python 自定義函數(shù) 20
2 Python 商業(yè)數(shù)據(jù)分析基礎(chǔ) 21
2.1 什么是數(shù)據(jù)分析 22
2.1.1 理解數(shù)據(jù)分析 22
2.1.2 數(shù)據(jù)分析的兩個(gè)核心思維 23
2.1.3 數(shù)據(jù)分析的方法論 23
2.2 Python 在商業(yè)分析中的價(jià)值 32
2.2.1 人生苦短,我用Python 32
2.2.2 Python 在商業(yè)分析應(yīng)用中的優(yōu)勢(shì) 33
2.3 數(shù)據(jù)采集 33
2.3.1 采集數(shù)據(jù)前的準(zhǔn)備工作 33
2.3.2 Requests 庫 40
2.4 數(shù)據(jù)庫操作及文件讀寫 48
2.4.1 MySQL 數(shù)據(jù)庫 48
2.4.2 數(shù)據(jù)庫操作 50
2.5 NumPy 數(shù)組處理 54
2.5.1 一維數(shù)組操作 54
2.5.2 多維數(shù)組操作 56
2.5.3 數(shù)組運(yùn)算 60
2.6 Pandas 數(shù)據(jù)處理 61
2.6.1 數(shù)據(jù)導(dǎo)入與導(dǎo)出 61
2.6.2 數(shù)據(jù)描述性統(tǒng)計(jì) 62
2.6.3 數(shù)據(jù)透視匯總 63
2.7 商業(yè)分析可視化 65
2.7.1 柱狀圖 66
2.7.2 餅圖 68
2.7.3 線圖 69
2.7.4 散點(diǎn)圖 70
3 Python 與市場(chǎng)分析案例 73
3.1 案例:市場(chǎng)大盤容量分析 75
3.1.1 案例背景及數(shù)據(jù)理解 75
3.1.2 計(jì)算市場(chǎng)規(guī)模 76
3.1.3 計(jì)算市場(chǎng)相對(duì)規(guī)模 78
3.1.4 繪制柱狀圖和餅圖 79
3.2 案例:市場(chǎng)趨勢(shì)分析 81
3.2.1 案例背景及數(shù)據(jù)理解 82
3.2.2 根據(jù)時(shí)間合并市場(chǎng)數(shù)據(jù) 83
3.2.3 補(bǔ)齊缺失月的數(shù)據(jù) 84
3.2.4 繪制趨勢(shì)圖 89
3.2.5 計(jì)算市場(chǎng)增量 94
3.2.6 繪制組合圖 94
3.3 案例:細(xì)分市場(chǎng)分析 95
3.3.1 案例背景及數(shù)據(jù)理解 96
3.3.2 類別的分布分析 96
3.3.3 識(shí)別潛力細(xì)分市場(chǎng) 99
3.3.4 潛力細(xì)分市場(chǎng)需求分析 104
3.3.5 消費(fèi)者需求分析 106
4 Python 與店鋪數(shù)據(jù)化運(yùn)營(yíng)案例 115
4.1 案例:用Python 做SEO 116
4.1.1 案例背景及數(shù)據(jù)理解 116
4.1.2 關(guān)鍵詞詞根分詞與統(tǒng)計(jì) 117
4.1.3 可視化圖形 118
4.2 案例:用Python 做推廣方案 122
4.2.1 案例背景及數(shù)據(jù)理解 122
4.2.2 計(jì)算渠道投放預(yù)算的解 124
4.2.3 計(jì)算品類投放預(yù)算的解 126
4.2.4 計(jì)算各個(gè)品類在不同渠道的解 127
4.3 案例:用Python 分析競(jìng)品 131
4.3.1 案例背景及數(shù)據(jù)理解 131
4.3.2 采集數(shù)據(jù) 131
4.3.3 競(jìng)品調(diào)價(jià)預(yù)警 134
5 Python 與數(shù)字營(yíng)銷案例 137
5.1 案例:基于關(guān)聯(lián)規(guī)則的產(chǎn)品推薦 138
5.1.1 算法原理及案例背景 138
5.1.2 創(chuàng)建商品項(xiàng)集 141
5.1.3 建立函數(shù)挑選小支持度項(xiàng)集 143
5.1.4 訓(xùn)練步驟項(xiàng)集函數(shù) 144
5.2 案例:基于聚類算法的商品推薦 147
5.2.1 算法原理及案例背景 147
5.2.2 消費(fèi)者聚類 150
5.2.3 基于消費(fèi)者聚類的推薦 167
5.3 案例:基于協(xié)同過濾算法的產(chǎn)品推薦 176
5.3.1 算法原理及案例背景 176
5.3.2 數(shù)據(jù)準(zhǔn)備 178
5.3.3 推薦算法建模 179
5.4 案例:消費(fèi)者輿情分析 183
5.4.1 案例背景及數(shù)據(jù)理解 183
5.4.2 案例實(shí)現(xiàn) 183
6 Python 與銷售預(yù)測(cè)案例 187
6.1 案例:基于業(yè)務(wù)邏輯的預(yù)測(cè)算法模型 188
6.1.1 案例背景及數(shù)據(jù)理解 188
6.1.2 案例實(shí)現(xiàn) 188
6.2 案例:基于時(shí)序算法預(yù)測(cè)庫存 189
6.2.1 算法原理及案例背景 189
6.2.2 數(shù)據(jù)及時(shí)序檢查 191
6.2.3 時(shí)間序列建模 198
6.2.4 循環(huán)迭代的ARIMA 模型 203
6.3 案例:電商的庫存預(yù)測(cè)算法建模 207
6.3.1 算法原理及案例背景 208
6.3.2 準(zhǔn)備數(shù)據(jù) 209
6.3.3 計(jì)算補(bǔ)貨量 211
6.4 案例:用戶成單預(yù)測(cè) 212
6.4.1 算法原理及案例背景 212
6.4.2 數(shù)據(jù)準(zhǔn)備 215
6.4.3 數(shù)據(jù)挖掘 243
6.5 案例:用戶流失預(yù)測(cè) 246
6.5.1 算法原理及案例背景 246
6.5.2 數(shù)據(jù)準(zhǔn)備 249
6.5.3 數(shù)據(jù)挖掘 254