本書介紹利用Python進行大數(shù)據(jù)處理與分析的詳細方法和步驟。全書共9章,主要內(nèi)容包括搭建開發(fā)環(huán)境、Numpy庫、Pandas庫、Matplotlib庫、數(shù)據(jù)預(yù)處理以及多個案例分析。本書注重理論緊密聯(lián)系實際,使讀者可以系統(tǒng)、全面地了解Python大數(shù)據(jù)處理與分析的實用技術(shù)和方法。
本書可作為高等院校Python大數(shù)據(jù)處理與分析相關(guān)課程的教材,也可以作為計算機相關(guān)專業(yè)的專業(yè)課或選修課教材,同時還可以作為從事Python與大數(shù)據(jù)技術(shù)相關(guān)工作人員的參考用書。
1.本書為計算機類專業(yè)教指委-華為大數(shù)據(jù)產(chǎn)學(xué)合作項目之一
2.Python的基本庫——NumPy、Pandas和Matplotlib庫+4個處理與分析的案例
3.提供PPT、源代碼
4.適合開設(shè)Python或者大數(shù)據(jù)技術(shù)相關(guān)課程的高校作為教材使用,也適合從事Python與大數(shù)據(jù)技術(shù)相關(guān)工作的人員自用
安俊秀,教授,碩士生導(dǎo)師。2004年畢業(yè)于西安交通大學(xué)計算機科學(xué)與技術(shù)專業(yè),獲工學(xué)碩士學(xué)位。2016年-2017年美國加州大學(xué)河濱分校(UCR)公派訪問學(xué)者,2014年-2015年美國科羅拉多大學(xué)斯普林司分校(UCCS)訪問學(xué)者。軟件自動生成與智能服務(wù)四川省重點實驗室學(xué)術(shù)帶頭人(領(lǐng)域知識本體和大數(shù)據(jù)方向)。作為項目負責(zé)人承擔(dān)國家自然基金面上項目1項(71673032),作為主研人員參與國家級項目6項。已發(fā)表研究領(lǐng)域相關(guān)論文及發(fā)明專利40余篇。主編完成專著或教材10余部,均是云計算與大數(shù)據(jù)方向,由國家級出版社出版(如Linux操作系統(tǒng)基礎(chǔ)教程、Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實踐、云計算與大數(shù)據(jù)技術(shù)應(yīng)用等),其中2016年出版了有影響力的獨著:量化社會——大數(shù)據(jù)與社會計算。國家自然科學(xué)基金委通訊評審專家,四川省科技項目評審專家,成都市科技攻關(guān)計劃評審專家,成都軍區(qū)項目評審專家。
1993年進入山西大學(xué)商務(wù)學(xué)院任教,2006年底調(diào)入成都信息工程大學(xué)任教。
最近三年,先后承擔(dān)了《Linux體系和編程》、《軟件工程項目管理》、《工程導(dǎo)論》、《計算機組成原理》等本科課程;承擔(dān)了《云計算與大數(shù)據(jù)》、《并行計算》、《Hadoop處理技術(shù)》等研究生課程。
第 一部分 基礎(chǔ)篇
第 1章 搭建開發(fā)環(huán)境 2
1.1 Python解釋器的安裝 2
1.1.1 在Windows系統(tǒng)下安裝Python解釋器 2
1.1.2 在Linux系統(tǒng)下安裝Python解釋器 6
1.1.3 在macOS系統(tǒng)下安裝Python解釋器 10
1.1.4 運行第 一個hello world程序 12
1.2 Anaconda的安裝及環(huán)境變量配置 12
1.2.1 Anaconda簡介 12
1.2.2 安裝Anaconda 14
1.2.3 配置Anaconda環(huán)境變量 16
1.3 Jupyter Notebook與PyCharm的安裝及工程環(huán)境設(shè)置 17
1.3.1 Jupyter Notebook的簡介與安裝 18
1.3.2 設(shè)置Jupyter Notebook工程環(huán)境 19
1.3.3 PyCharm的簡介與安裝 23
1.3.4 設(shè)置PyCharm工程環(huán)境 25
習(xí)題 28
第 2章 使用NumPy進行數(shù)據(jù)
計算 29
2.1 安裝NumPy 29
2.2 NumPy中的數(shù)組對象 30
2.2.1 數(shù)組對象的創(chuàng)建 31
2.2.2 數(shù)組對象的常用屬性 34
2.2.3 數(shù)組元素的訪問與修改 36
2.2.4 數(shù)組對象的基礎(chǔ)運算 37
2.2.5 數(shù)組對象的常用函數(shù) 38
2.3 使用NumPy進行數(shù)學(xué)運算 42
2.3.1 位運算函數(shù) 42
2.3.2 數(shù)學(xué)函數(shù) 44
2.3.3 算術(shù)函數(shù) 45
2.3.4 統(tǒng)計函數(shù) 47
2.3.5 線性代數(shù)函數(shù) 49
2.4 NumPy使用案例 52
習(xí)題 53
第3章 使用pandas進行數(shù)據(jù)分析 54
3.1 安裝pandas 54
3.2 pandas中的對象 55
3.2.1 Series對象 56
3.2.2 DataFrame對象 57
3.3 pandas的基本操作 58
3.3.1 導(dǎo)入與導(dǎo)出數(shù)據(jù) 59
3.3.2 數(shù)據(jù)的查看與檢查 60
3.3.3 數(shù)據(jù)的增刪查改 62
3.4 pandas的基本運用 64
3.4.1 數(shù)據(jù)統(tǒng)計 64
3.4.2 算術(shù)運算與數(shù)據(jù)對齊 66
3.5 pandas使用案例 68
習(xí)題 70
第4章 Matplotlib數(shù)據(jù)
可視化 71
4.1 安裝Matplotlib與繪圖基本步驟 71
4.1.1 安裝Matplotlib 71
4.1.2 Matplotlib繪圖基本步驟 72
4.2 經(jīng)典圖形繪制 74
4.2.1 折線圖 74
4.2.2 柱狀圖 77
4.2.3 直方圖 80
4.2.4 散點圖 82
4.2.5 等值線圖及地理信息可視化 86
4.3 圖表調(diào)整及美化 92
4.3.1 圖表主要組成元素調(diào)整 92
4.3.2 顏色參數(shù)及映射表 97
4.4 Matplotlib使用案例 98
習(xí)題 102
第5章 數(shù)據(jù)預(yù)處理 103
5.1 數(shù)據(jù)清洗與準備 103
5.1.1 數(shù)據(jù)清洗準備 103
5.1.2 數(shù)據(jù)清洗 104
5.2 正則表達式 108
5.2.1 正則表達式的特點與組成 108
5.2.2 字符串方法 109
5.2.3 re模塊 113
5.3 數(shù)據(jù)規(guī)整 117
5.3.1 聚合、分組及數(shù)據(jù)透視 117
5.3.2 特征選擇(降維) 120
5.3.3 數(shù)據(jù)變換與數(shù)據(jù)規(guī)約 122
5.3.4 稀疏表示和字典學(xué)習(xí) 124
習(xí)題 126
第二部分 實例篇
第6章 基于大數(shù)據(jù)的房產(chǎn)估價 128
6.1 情景問題提出及分析 128
6.2 多元回歸模型介紹 128
6.3 方法與過程 129
6.3.1 讀入數(shù)據(jù)并進行數(shù)據(jù)預(yù)處理 130
6.3.2 將預(yù)處理好的數(shù)據(jù)可視化 141
6.3.3 使用多元回歸模型進行房產(chǎn)估價 146
6.3.4 模型效果評價 148
上機實驗 151
第7章 某移動公司客戶價值分析 152
7.1 情景問題提出及分析 152
7.2 K-Means聚類算法簡介 153
7.3 客戶價值分析過程 155
7.3.1 讀入數(shù)據(jù)并進行數(shù)據(jù)預(yù)處理 156
7.3.2 數(shù)據(jù)標準化 165
7.3.3 使用K-Means聚類算法對客戶進行分析 167
7.3.4 數(shù)據(jù)可視化及數(shù)據(jù)分析 172
上機實驗 178
第8章 基于歷史數(shù)據(jù)的氣溫及降水預(yù)測 179
8.1 情景問題提出及分析 179
8.2 常見的時間序列模型簡介 180
8.2.1 AR模型 180
8.2.2 MA模型 181
8.2.3 ARMA模型 181
8.2.4 ARIMA模型 182
8.2.5 模型求解步驟 183
8.3 平穩(wěn)序列建模示例(降水預(yù)測) 186
8.3.1 讀入數(shù)據(jù)并進行預(yù)處理 186
8.3.2 時間序列的平穩(wěn)性分析 190
8.3.3 模型選擇及定階 191
8.3.4 建立時序模型并預(yù)測 193
8.4 非平穩(wěn)序列建模示例(氣溫預(yù)測) 195
8.4.1 讀入數(shù)據(jù)并進行預(yù)處理 195
8.4.2 時間序列的平穩(wěn)性分析 197
8.4.3 模型選擇及定階 198
8.4.4 建立時序模型并預(yù)測 200
上機實驗 202
第9章 智能電網(wǎng)的電能預(yù)估及價值分析 203
9.1 情景問題提出及分析 203
9.2 決策樹算法簡介 203
9.2.1 ID3算法 205
9.2.2 C4.5算法 207
9.2.3 CART算法 208
9.2.4 預(yù)剪枝與后剪枝 208
9.2.5 連續(xù)值處理 209
9.3 方法與過程 211
9.3.1 讀入數(shù)據(jù)并預(yù)處理 211
9.3.2 模型構(gòu)建 218
9.3.3 模型效果評價 221
上機實驗 221
參考文獻 223