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