Python 數據處理、分析、可視化與數據化運營
宋天龍
買這商品的人也買了...
-
$352Python 密碼學編程
-
$294$279 -
$658Python 數據分析與數據化運營, 2/e
-
$648$616 -
$560$476 -
$556機器學習:軟件工程方法與實現
-
$948$901 -
$480$379 -
$500$395 -
$654$621 -
$880$695 -
$690$545 -
$768$730 -
$500$395 -
$500$395
相關主題
商品描述
本書的編寫主要圍繞Python在企業中的數據分析工作實踐,著眼於構建完整的數據分析框架、方法和技能的培養和訓練。全書共10章,其中第1章和第2章介紹了進行Python數據分析的準備工作和Python基礎知識;第3~9章介紹了數據對象的讀寫、數據清洗和預處理、數據可視化、基本數據統計分析和高級數據建模分析、自然語言理解和文本挖掘、數據分析部署和應用等完整工作技能和方法;第10章介紹了數據分析在數據化運營中的完整應用思路、維度和框架。本書內容深入淺出,均以企業真實需求引導學習,具有很強的實用性和操作性。
本書可以作為普通高等院校本科、專科統計、商務分析、大數據等專業的課程教材,也可以作為從事數據分析工作的人員的參考用書。
作者簡介
宋天龙(TonySong),历任Webtrekk中国区数据总监(Webtrekk,德国最大的网站数据分析服务提供商),国美在线大数据中心经理,数据常青藤和数据研究与商业应用博主。萝卜课堂和天善学院特邀讲师,百度文库认证作家、36大数据、站长之家、互联网分析沙龙专栏作家。
目錄大綱
第 1章 認識Python 1
1.1 Python與數據分析 1
1.1.1 Python的概念 1
1.1.2 數據分析與Python 2
1.2 如何準備Python程序環境 2
1.2.1 如何安裝Python程序 2
1.2.2 如何安裝第三方庫 3
1.3 Python數據分析庫 5
1.3.1 Pandas 5
1.3.2 Scipy 5
1.3.3 Numpy 5
1.3.4 Scikit-Learn 6
1.3.5 Statsmodels 6
1.3.6 Gensim 6
1.4 Python交互環境Jupyter 6
1.4.1 啟動Jupyter 7
1.4.2 Jupyter的功能區 7
1.4.3 Jupyter的常用操作 8
1.4.4 Jupyter的魔術命令 11
1.4.5 Jupyter的配置 13
1.5 執行第 一個Python程序 14
1.6 新手常見誤區 16
1.6.1隨意升級庫到最新版本 16
1.6.2糾結於使用Python2還是Python3 16
1.6.3 糾結於選擇32位還是64位版本 16
實訓:打印自己的名字 17
思考與練習 17
第 2章 Python語言基礎 18
2.1 基礎規則 18
2.1.1 Python解釋器 18
2.1.2 編碼聲明 18
2.1.3 縮進和執行域 18
2.1.4 長語句斷行 19
2.1.5 單行和多行註釋 19
2.1.6 變量的命名和賦值規則 20
2.2 數據類型 20
2.2.1 數字型數據 21
2.2.2字符型數據 21
2.2.3 日期型數據 22
2.2.4 數據類型的判斷與轉換 22
2.3 數據結構 24
2.3.1 列表和列表推導式 24
2.3.2 元組和元組推導式 27
2.3.3 字典和字典推導式 28
2.3.4 集合和集合推導式 30
2.3.5 數據結構的判斷與轉換 32
2.4 條件表達式與判斷 33
2.4.1 單層條件判斷 33
2.4.2 嵌套條件判斷 33
2.4.3 多條件判斷中的and和or 34
2.4.4 多條件判斷中的鏈式比較、all和any 34
2.4.5 基於條件表達式的賦值 35
2.5 循環和流程控制 35
2.5.1 for循環和條件表達式 35
2.5.2 while循環和條件表達式 36
2.5.3 循環嵌套 36
2.5.4 無限循環 36
2.5.5 break和continue控制 36
2.6 運算符 37
2.6.1 算術運算符 37
2.6.2 賦值運算符 38
2.6.3 比較運算符 39
2.6.4 邏輯運算符 39
2.6.5 成員運算符 39
2.6.6 身份運算符 40
2.6.7 運算符優先級 40
2.7 字符串處理和正則表達式 41
2.7.1 字符串格式化的3種方法 41
2.7.2 字符串的編譯執行 43
2.7.3 內置字符串處理方法 44
2.7.4 正則表達式應用 46
2.8 功能模塊的封裝 49
2.8.1 函數 49
2.8.2 匿名函數 50
2.8.3 類 51
2.9 高階計算函數的應用 53
2.9.1 map 53
2.9.2 reduce 53
2.9.3 filter 54
2.10 導入Python庫 55
2.10.1 導入標準庫和第三方庫 55
2.10.2 導入自定義庫 56
2.10.3 使用庫的別名 56
2.10.4 不同庫的導入順序 57
2.11 Pandas庫基礎 57
2.11.1 創建數據對象 57
2.11.2 查看數據信息 58
2.11.3 數據切片和切塊 59
2.11.4 數據篩選和過濾 60
2.11.5 數據預處理操作 61
2.11.6 數據合並和匹配 63
2.11.7 數據分類匯總 64
2.11.8 高級函數使用 64
2.12 新手常見誤區 65
2.12.1 錯誤的縮進導致功能範圍混亂 65
2.12.2 混淆賦值和條件判斷符號 65
2.12.3 列表長度與初始索引、終止索引誤用 66
2.12.4 表達式或功能缺少冒號 66
2.12.5 變量名的沖突問題 66
2.12.6 混淆int和round對浮點數的取整 67
實訓:對列表中的元素按不同邏輯處理 67
思考與練習 68
第3章 數據對象的讀寫 69
3.1 目錄與文件操作 69
3.1.1 獲取目錄信息 69
3.1.2 目錄的基本操作 70
3.1.3 路徑與目錄的組合與拆分 72
3.1.4 目錄的判斷 72
3.1.5 遍歷目錄 73
3.1.6 文件的基本操作 74
3.2數據文件的讀取與寫入 75
3.2.1 讀寫普通文件 75
3.2.2 讀寫csv、txt、tsv等數據文件 79
3.2.3 讀寫Excel文件 83
3.2.4 讀寫JSON文件 86
3.2.5 讀寫XML文件 88
3.2.6 讀寫SPSS Statistics /SAS/Stata數據文件 90
3.2.7 讀寫R數據文件 94
3.3數據庫的讀取與寫入 96
3.3.1讀寫結構化數據庫MySQL 96
3.3.2讀寫非結構化數據庫MongoDB 101
3.4 數據對象持久化 103
3.4.1使用pickle讀寫持久化對象 103
3.4.2使用sklearn讀寫持久化對象 104
3.5 新手常見誤區 105
3.5.1 不註意工作路徑導致無法找到文件 105
3.5.2 忽視不同操作系統下路徑的表示方法問題 105
3.5.3 文件對象未正常關閉導致數據或程序異常 105
3.5.4 pickle讀寫對象無法執行read和write方法 106
3.5.5 默認讀取的多段落數據末尾有\n而不處理 106
3.5.6 文件write寫入的對象不是字符串 107
實訓:多條件數據庫讀寫操作 107
思考與練習 108
第4章 數據清洗和預處理 109
4.1 數據審核 109
4.1.1 查看數據狀態 109
4.1.2 審核數據類型 109
4.1.3 分析數據分佈趨勢 110
4.2 缺失值處理 111
4.2.1 查看缺失值記錄 111
4.2.2 查看缺失值列 112
4.2.3 NA值處理 112
4.3 異常值處理 113
4.3.1 基於經驗值的判斷和選擇 113
4.3.2 基於均值標準差的判斷和選擇 114
4.3.3 基於分位數的判斷和選擇 115
4.4 重復值處理 115
4.4.1 判斷缺失值 116
4.4.2 去除重復值 116
4.5 數據抽樣 116
4.5.1 隨機抽樣 116
4.5.2 分層抽樣 116
4.6 數據格式與值變換 117
4.6.1 字符串轉日期 117
4.6.2 提取日期和時間 118
4.6.3 提取時間元素 118
4.7 數據標準化和歸一化 120
4.7.1 Z-SCORE數據標準化 120
4.7.2 MaxMin數據歸一化 121
4.8 數據離散化和二元化 121
4.8.1 基於自定義區間的離散化 121
4.8.2 基於分位數法離散化 122
4.8.3 基於指定條件的二元化 122
4.9 分類特徵處理 123
4.9.1 分類特徵轉數值索引 123
4.9.2 OneHotencode 轉換 124
4.10 特徵選擇 124
4.11 分詞 125
4.12 文本轉向量 127
4.13 新手常見誤區 127
4.13.1 沒有先做NA值處理導致後續清洗工作頻繁報錯 127
4.13.2 直接拋棄異常值 128
4.13.3 用數值索引代替分類字符串參與模型計算 128
4.13.4 使用分位數法離散化並做不同周期的數據對比 128
4.13.5 把抽樣當作一個必備工作環節 129
實訓:綜合性數據預處理 129
思考與練習 130
第5章 數據可視化 131
5.1 可視化應用概述 131
5.1.1 常用數據可視化庫 131
5.1.2 如何選擇恰當的可視化方式 132
5.2 簡單數據信息的可視化 133
5.2.1 使用條形圖和柱形圖表達數據差異 134
5.2.2 使用折線圖和柱形圖展示趨勢 136
5.2.3 使用餅圖和麵積圖展示成分或結構信息 138
5.2.4 使用散點圖或蜂窩圖展示數據間關系 141
5.3 復雜數據信息的可視化 142
5.3.1 使用成對關系圖對多組數據同時做關系可視化 142
5.3.2 使用帶回歸擬合線的散點圖做回歸擬合的可視化 143
5.3.3 使用熱力圖做相關關系可視化 144
5.3.4 使用日歷圖展示不同時間下的銷售分佈 145
5.3.5 使用箱型圖和散點圖查看數據分佈規律 146
5.3.6 使用分類柱形圖展示多個維度細分值分佈 147
5.3.7 使用等高線繪制核密度分佈 148
5.3.8 使用坡度圖繪制數據變化差異 149
5.3.9 使用漏鬥圖展示不同轉化環節的完成情況 150
5.3.10 使用關系圖展示不同元素見的關聯關系 151
5.3.11 使用雷達圖展示多個元素在不同屬性上的差異 153
5.3.12 用詞雲展示關鍵字分佈 154
5.4 新手常見誤區 155
5.4.1 沒有明確的可視化目標 155
5.4.2 通過特殊圖形設置誤導受眾 156
5.4.3 選擇過於“花哨”的圖形卻忽略了可視化的本質 156
5.4.4 缺乏根據信息表達目標選擇“最佳”圖形的意識 156
5.4.5 信息過載 156
實訓:綜合性數據可視化 157
思考與練習 157
第6章 基本數據統計分析 159
6.1 描述性統計分析 159
6.1.1 通用描述信息 160
6.1.2 集中性趨勢 161
6.1.3 離散性趨勢 162
6.2 交叉對比和趨勢分析 163
6.2.1 交叉對比分析 163
6.2.2 交叉趨勢分析 164
6.3 結構與貢獻分析 165
6.3.1 占比分析 166
6.3.2 二八法則分析 166
6.3.3 ABC分析法 168
6.3.4 長尾分析 170
6.4 分組與聚合分析 171
6.4.1 使用分位數聚合分析 171
6.4.2 基於均值和標準差的聚合分析 172
6.5 相關性分析 173
6.5.1 Pearson相關性分析 173
6.5.2 Spearman相關性分析 174
6.5.3 Kendall相關性分析 175
6.6 主成分分析與因子分析 175
6.6.1 主成分分析 176
6.6.2 因子分析 177
6.7 漏鬥、路徑與歸因分析 178
6.7.1 漏鬥分析 178
6.7.2 路徑分析 179
6.7.3 歸因分析 179
6.8 新手常見誤區 181
6.8.1 把數據陳述當作數據結論 181
6.8.2 通過單一指標得出數據結論 181
6.8.3 註重分析過程但沒有分析結論 182
6.8.4 忽視數據分析的落地性 182
實訓:基本數據統計分析思維訓練 182
思考與練習 183
第7章 高級數據建模分析 184
7.1使用KMeans聚類算法挖掘用戶潛在特徵 184
7.1.1 算法引言 184
7.1.2 案例背景 185
7.1.3 數據源概述 185
7.1.4 案例過程 185
7.1.5 用戶特徵分析 189
7.2 使用CART預測用戶是否會產生轉化 189
7.2.1 算法引言 189
7.2.2 案例背景 190
7.2.3 數據源概述 190
7.2.4 案例過程 191
7.2.5 分析用戶的轉化可能性 194
7.3 使用主成分分析+嶺回歸預測廣告UV量 195
7.3.1 算法引言 195
7.3.2 案例背景 196
7.3.3 數據源概述 196
7.3.4 案例過程 196
7.3.5 獲得廣告UV量 200
7.3.6 拓展思考 201
7.4 使用Apriori關聯分析提高商品銷量 201
7.4.1 算法引言 201
7.4.2 案例背景 202
7.4.3 數據源概述 202
7.4.4 案例過程 202
7.4.5 通過關聯分析結果提高銷量 207
7.5 使用Prefixspan序列關聯找到用戶下一個訪問頁面 207
7.5.1 算法引言 207
7.5.2 案例背景 208
7.5.3 數據源概述 208
7.5.4 案例過程 208
7.5.5 通過序列模式引導用戶頁面訪問行為 212
7.5.6 拓展思考 213
7.6 使用auto ARIMA時間序列預測線下門店銷量 213
7.6.1 算法引言 213
7.6.2 案例背景 214
7.6.3 數據源概述 214
7.6.4 案例過程 215
7.6.5 得到未來7天的銷售量 220
7.7 使用IsolationForest異常檢測找到異常廣告流量 220
7.7.1 算法引言 220
7.7.2 案例背景 221
7.7.3 數據源概述 222
7.7.4 案例過程 224
7.7.5 分析異常檢測結果 227
7.8 新手常見誤區 229
7.8.1 認為某種算法適用於所有應用場景 229
7.8.2 並不是模型擬合程度越高效果越好 230
7.8.3 應用回歸模型時忽略自變量是否產生變化 230
7.8.4 關聯分析可以跨維度做分析 231
7.8.5 很多時候模型得到的異常未必是真的異常 231
實訓 231
實訓1 預測用戶是否流失 231
實訓2 預測目標用戶的總訂單金額 232
實訓3 找到整體用戶頻繁購買的商品 233
思考與練習 233
第8章 自然語言理解和文本挖掘 234
8.1 使用結巴分詞提取用戶評論關鍵字 234
8.1.1 算法引言 234
8.1.2 案例背景 235
8.1.3 數據源概述 235
8.1.4 案例過程 235
8.1.5 分析用戶評論關鍵字 238
8.2 使用LDA主題模型做新聞主題分析 239
8.2.1 算法引言 239
8.2.2 案例背景 240
8.2.3 數據源概述 240
8.2.4 案例過程 240
8.2.5 分析主題結果 242
8.3 使用隨機森林預測用戶評分傾向 244
8.3.1 算法引言 244
8.3.2 案例背景 245
8.3.3 數據源概述 245
8.3.4 案例過程 245
8.3.5 預測新用戶的評分 248
8.4 使用TextRank自動生成文章摘要和關鍵短語 249
8.4.1 算法引言 249
8.4.2 案例背景 250
8.4.3 數據源概述 250
8.4.4 案例過程 250
8.5 新手常見誤區 252
8.5.1 混淆中文分詞與英文分詞引擎 252
8.5.2 只用詞頻計算詞的重要性 252
8.5.3 忽略文本預處理環節 253
實訓:提取關鍵字、關鍵短語和摘要信息 253
思考與練習 254
第9章 數據分析部署和應用 255
9.1 批量合並數據文件 255
9.1.1 應用背景 255
9.1.2 工作需求 255
9.1.3 實現過程 256
9.2 從數據庫中抽取數據並生成結果文件 259
9.2.1 應用背景 259
9.2.2 工作需求 260
9.2.3 實現過程 260
9.3 發送普通Email並附帶數據文件 264
9.3.1 應用背景 264
9.3.2 工作需求 264
9.3.3 實現過程 265
9.4 發送HTML富媒體樣式的郵件 269
9.4.1 應用背景 269
9.4.2 工作需求 269
9.4.3 實現過程 269
9.5 系統自動執行Python腳本和數據任務 272
9.5.1 應用背景 272
9.5.2 工作需求 272
9.5.3 實現過程 272
9.6 新手常見誤區 277
9.6.1 不註重自動化的工作方式 277
9.6.2 數據輸出物的美觀度也是一種數據價值 278
9.6.3 缺乏對自動化作業任務的監控 278
實訓:將日常發送郵件工作自動化 278
思考與練習 279
第 10章 數據分析與數據化運營 280
10.1 數據報告矩陣 280
10.1.1 臨時分析 280
10.1.2 實時分析 280
10.1.3 日常報告 281
10.1.4 專題分析 282
10.1.5 項目分析 282
10.2 分析指標矩陣 283
10.2.1 會員運營 283
10.2.2 商品運營 284
10.2.3 廣告運營 285
10.2.4 網站運營 286
10.3 探索維度矩陣 286
10.3.1 目標端 286
10.3.2 媒體端 287
10.3.3 用戶端 288
10.3.4 網站端 289
10.3.5 競爭端 289
10.4 應用場景矩陣 290
10.4.1 效果預測 290
10.4.2 結論定義 290
10.4.3 數據探究 291
10.4.4 業務執行 291
10.5 新手常見誤區 292
10.5.1 把數據陳列當作數據結論 292
10.5.2 數據結論產生於單一指標 292
10.5.3 由數據立場扭曲的數據結論 293
10.5.4 忽視多種數據落地方式 293
實訓:搭建針對企業的數據化運營應用體系 294
思考與練習 294