本書以任務為導向,全面地介紹數據分析的流程和Python數據分析庫的應用,詳細講解利用Python解決企業實際問題的方法。全書共9章,* 1章介紹了數據分析的基本概念等相關知識;* 2~6章介紹了Python數據分析的常用庫及其應用,涵蓋NumPy數值計算、Matplotlib數據可視化、pandas統計分析、使用pandas進行數據預處理、使用scikit-learn構建模型,較為全面地闡述了Python數據分析方法;第7~9章結合之前所學的數據分析技術,進行企業綜合案例數據分析。除* 1章外,本書各章都包含了實訓與課后習題,通過練習和操作實踐,幫助讀者鞏固所學的內容。
本書可作為高校大數據技術類專業的教材,也可以作為大數據技術愛好者的自學用書。
資 深大數據專家張良均領銜暢銷書作者團隊,教育部長江學者特聘教授、國家杰出青年基金獲得者、IEEE Fellow、華南理工大學計算機與工程學院院長張軍傾力推薦。
本書采用了以任務為導向的教學模式,按照解決實際任務的工作流程路線,逐步展開介紹相關的理論知識點,推導生成可行的解決方案,* 后落實在任務實現環節。
全書大部分章節緊扣任務需求展開,不堆積知識點,著重于解決問題時思路的啟發與方案的實施。通過從任務需求到實現這一完整工作流程的體驗,幫助讀者真正理解與消化Python數據分析與應用。
書中案例全部源于企業真實項目,可操作性強,引導讀者融會貫通,并提供源代碼等相關學習資源,幫助讀者快速掌握大數據相關技能。
張良均,高 級信息系統項目管理師,泰迪杯全國大學生數據挖掘競賽(www.tipdm.org)的發起人。華南師范大學、廣東工業大學兼職教授,廣東省工業與應用數學學會理事。兼有大型高科技企業和高校的工作經歷,主要從事大數據挖掘及其應用的策劃、研發及咨詢培訓。全國計算機技術與軟件專業技術資格(水平)考試繼續教育和CDA數據分析師培訓講師。發表數據挖掘相關論文數二十余篇,已取得國家發明專利12項,主編圖書《神經網絡實用教程》《數據挖掘:實用案例分析》《Python數據分析與挖掘》等多本暢銷圖書,主持并完成科技項目9項。獲得SAS、SPSS數據挖掘認證及Hadoop開發工程師證書,具有電力、電信、銀行、制造企業、電子商務和電子政務的項目經驗和行業背景。
* 1章 Python數據分析概述 1
任務1.1 認識數據分析 1
1.1.1 掌握數據分析的概念 2
1.1.2 掌握數據分析的流程 2
1.1.3 了解數據分析應用場景 4
任務1.2 熟悉Python數據分析的工具 5
1.2.1 了解數據分析常用工具 6
1.2.2 了解Python數據分析的優勢 7
1.2.3 了解Python數據分析常用類庫 7
任務1.3 安裝Python的Anaconda發行版 9
1.3.1 了解Python的Anaconda發行版 9
1.3.2 在Windows系統中安裝Anaconda 9
1.3.3 在Linux系統中安裝Anaconda 12
任務1.4 掌握Jupyter Notebook常用功能 14
1.4.1 掌握Jupyter Notebook的基本功能 14
1.4.2 掌握Jupyter Notebook的高 級功能 16
小結 19
課后習題 19
* 2章 NumPy數值計算基礎 21
任務2.1 掌握NumPy數組對象ndarray 21
2.1.1 創建數組對象 21
2.1.2 生成隨機數 27
2.1.3 通過索引訪問數組 29
2.1.4 變換數組的形態 31
任務2.2 掌握NumPy矩陣與通用函數 34
2.2.1 創建NumPy矩陣 34
2.2.2 掌握ufunc函數 37
任務2.3 利用NumPy進行統計分析 41
2.3.1 讀/寫文件 41
2.3.2 使用函數進行簡單的統計分析 44
2.3.3 任務實現 48
小結 50
實訓 50
實訓1 創建數組并進行運算 50
實訓2 創建一個國際象棋的棋盤 50
課后習題 51
第3章 Matplotlib數據可視化基礎 52
任務3.1 掌握繪圖基礎語法與常用參數 52
3.1.1 掌握pyplot基礎語法 53
3.1.2 設置pyplot的動態rc參數 56
任務3.2 分析特征間的關系 59
3.2.1 繪制散點圖 59
3.2.2 繪制折線圖 62
3.2.3 任務實現 65
任務3.3 分析特征內部數據分布與分散狀況 68
3.3.1 繪制直方圖 68
3.3.2 繪制餅圖 70
3.3.3 繪制箱線圖 71
3.3.4 任務實現 73
小結 77
實訓 78
實訓1 分析1996~2015年人口數據特征間的關系 78
實訓2 分析1996~2015年人口數據各個特征的分布與分散狀況 78
課后習題 79
第4章 pandas統計分析基礎 80
任務4.1 讀/寫不同數據源的數據 80
4.1.1 讀/寫數據庫數據 80
4.1.2 讀/寫文本文件 83
4.1.3 讀/寫Excel文件 87
4.1.4 任務實現 88
任務4.2 掌握DataFrame的常用操作 89
4.2.1 查看DataFrame的常用屬性 89
4.2.2 查改增刪DataFrame數據 91
4.2.3 描述分析DataFrame數據 101
4.2.4 任務實現 104
任務4.3 轉換與處理時間序列數據 107
4.3.1 轉換字符串時間為標準時間 107
4.3.2 提取時間序列數據信息 109
4.3.3 加減時間數據 110
4.3.4 任務實現 111
任務4.4 使用分組聚合進行組內計算 113
4.4.1 使用groupby方法拆分數據 114
4.4.2 使用agg方法聚合數據 116
4.4.3 使用apply方法聚合數據 119
4.4.4 使用transform方法聚合數據 121
4.4.5 任務實現 121
任務4.5 創建透視表與交叉表 123
4.5.1 使用pivot_table函數創建透視表 123
4.5.2 使用crosstab函數創建交叉表 127
4.5.3 任務實現 128
小結 130
實訓 130
實訓1 讀取并查看P2P網絡貸款數據主表的基本信息 130
實訓2 提取用戶信息更新表和登錄信息表的時間信息 130
實訓3 使用分組聚合方法進一步分析用戶信息更新表和登錄信息表 131
實訓4 對用戶信息更新表和登錄信息表進行長寬表轉換 131
課后習題 131
第5章 使用pandas進行數據預處理 133
任務5.1 合并數據 133
5.1.1 堆疊合并數據 133
5.1.2 主鍵合并數據 136
5.1.3 重疊合并數據 139
5.1.4 任務實現 140
任務5.2 清洗數據 141
5.2.1 檢測與處理重復值 141
5.2.2 檢測與處理缺失值 146
5.2.3 檢測與處理異常值 149
5.2.4 任務實現 152
任務5.3 標準化數據 154
5.3.1 離差標準化數據 154
5.3.2 標準差標準化數據 155
5.3.3 小數定標標準化數據 156
5.3.4 任務實現 157
任務5.4 轉換數據 158
5.4.1 啞變量處理類別型數據 158
5.4.2 離散化連續型數據 160
5.4.3 任務實現 162
小結 163
實訓 164
實訓1 插補用戶用電量數據缺失值 164
實訓2 合并線損、用電量趨勢與線路告警數據 164
實訓3 標準化建模專家樣本數據 164
課后習題 165
第6章 使用scikit-learn構建模型 167
任務6.1 使用sklearn轉換器處理數據 167
6.1.1 加載datasets模塊中的數據集 167
6.1.2 將數據集劃分為訓練集和測試集 170
6.1.3 使用sklearn轉換器進行數據預處理與降維 172
6.1.4 任務實現 174
任務6.2 構建并評價聚類模型 176
6.2.1 使用sklearn估計器構建聚類模型 176
6.2.2 評價聚類模型 179
6.2.3 任務實現 182
任務6.3 構建并評價分類模型 183
6.3.1 使用sklearn估計器構建分類模型 183
6.3.2 評價分類模型 186
6.3.3 任務實現 188
任務6.4 構建并評價回歸模型 190
6.4.1 使用sklearn估計器構建線性回歸模型 190
6.4.2 評價回歸模型 193
6.4.3 任務實現 194
小結 196
實訓 196
實訓1 使用sklearn處理wine和wine_quality數據集 196
實訓2 構建基于wine數據集的K-Means聚類模型 196
實訓3 構建基于wine數據集的SVM分類模型 197
實訓4 構建基于wine_quality數據集的回歸模型 197
課后習題 198
第7章 航空公司客戶價值分析 199
任務7.1 了解航空公司現狀與客戶價值分析 199
7.1.1 了解航空公司現狀 200
7.1.2 認識客戶價值分析 201
7.1.3 熟悉航空客戶價值分析的步驟與流程 201
任務7.2 預處理航空客戶數據 202
7.2.1 處理數據缺失值與異常值 202
7.2.2 構建航空客戶價值分析關鍵特征 202
7.2.3 標準化LRFMC模型的5個特征 206
7.2.4 任務實現 207
任務7.3 使用K-Means算法進行客戶分群 209
7.3.1 了解K-Means聚類算法 209
7.3.2 分析聚類結果 210
7.3.3 模型應用 213
7.3.4 任務實現 214
小結 215
實訓 215
實訓1 處理信用卡數據異常值 215
實訓2 構造信用卡客戶風險評價關鍵特征 217
實訓3 構建K-Means聚類模型 218
課后習題 218
第8章 財政收入預測分析 220
任務8.1 了解財政收入預測的背景與方法 220
8.1.1 分析財政收入預測背景 220
8.1.2 了解財政收入預測的方法 222
8.1.3 熟悉財政收入預測的步驟與流程 223
任務8.2 分析財政收入數據特征的相關性 223
8.2.1 了解相關性分析 223
8.2.2 分析計算結果 224
8.2.3 任務實現 225
任務8.3 使用Lasso回歸選取財政收入預測的關鍵特征 225
8.3.1 了解Lasso回歸方法 226
8.3.2 分析Lasso回歸結果 227
8.3.3 任務實現 227
任務8.4 使用灰色預測和SVR構建財政收入預測模型 228
8.4.1 了解灰色預測算法 228
8.4.2 了解SVR算法 229
8.4.3 分析預測結果 232
8.4.4 任務實現 234
小結 236
實訓 236
實訓1 求取企業所得稅各特征間的相關系數 236
實訓2 選取企業所得稅預測關鍵特征 237
實訓3 構建企業所得稅預測模型 237
課后習題 237
第9章 家用熱水器用戶行為分析與事件識別 239
任務9.1 了解家用熱水器用戶行為分析的背景與步驟 239
9.1.1 分析家用熱水器行業現狀 240
9.1.2 了解熱水器采集數據基本情況 240
9.1.3 熟悉家用熱水器用戶行為分析的步驟與流程 241
任務9.2 預處理熱水器用戶用水數據 242
9.2.1 刪除冗余特征 242
9.2.2 劃分用水事件 243
9.2.3 確定單次用水事件時長閾值 244
9.2.4 任務實現 246
任務9.3 構建用水行為特征并篩選用水事件 247
9.3.1 構建用水時長與頻率特征 248
9.3.2 構建用水量與波動特征 249
9.3.3 篩選候選洗浴事件 250
9.3.4 任務實現 251
任務9.4 構建行為事件分析的BP神經網絡模型 255
9.4.1 了解BP神經網絡算法原理 255
9.4.2 構建模型 259
9.4.3 評估模型 260
9.4.4 任務實現 260
小結 263
實訓 263
實訓1 清洗運營商客戶數據 263
實訓2 篩選客戶運營商數據 264
實訓3 構建神經網絡預測模型 265
課后習題 265
附錄A 267
附錄B 270
參考文獻 295