本書面向大數(shù)據(jù)應(yīng)用型人才,以任務(wù)為導(dǎo)向,全面地介紹Python數(shù)據(jù)分析與挖掘的常用技術(shù)與真實(shí)案例。全書共7章,第1、2章介紹Python數(shù)據(jù)分析的常用模塊及其應(yīng)用,涵蓋NumPy數(shù)值計(jì)算模塊、pandas數(shù)據(jù)分析模塊,較為全面地闡述Python數(shù)據(jù)分析的方法;第3、4章介紹輕量級(jí)的數(shù)據(jù)交換格式JSON和連接MySQL數(shù)據(jù)庫(kù)的pymysql模塊,并以此進(jìn)行數(shù)據(jù)綜合案例的分析;第5章介紹Matplotlib可視化模塊,用于繪制一些統(tǒng)計(jì)圖形;第6章主要講解Flask框架結(jié)合ECharts實(shí)現(xiàn)可視化效果;第7章主要講解在機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘中sklearn模塊的應(yīng)用。
本書適合作為高等院校大數(shù)據(jù)專業(yè)、人工智能專業(yè)的Python教材,也可作為Python相關(guān)培訓(xùn)的教材。
第 1章 數(shù)值計(jì)算模塊NumPy 1
1.1 NumPy數(shù)組的創(chuàng)建與保存 2
1.1.1 使用基本方法創(chuàng)建數(shù)組 2
1.1.2 使用通用方法創(chuàng)建數(shù)組 3
1.1.3 讀取外部數(shù)據(jù)創(chuàng)建數(shù)組 6
1.1.4 數(shù)組保存為文本文件 7
1.2 NumPy數(shù)組操作 8
1.2.1 數(shù)組的數(shù)據(jù)類型操作 8
1.2.2 數(shù)組的形狀及其相關(guān)操作 10
1.2.3 數(shù)組元素訪問(wèn):索引與切片 13
1.2.4 數(shù)組運(yùn)算 15
1.3 NumPy數(shù)組常用函數(shù) 19
1.3.1 統(tǒng)計(jì)函數(shù) 19
1.3.2 邏輯函數(shù) 24
1.3.3 離散差分函數(shù)和梯度函數(shù) 26
1.3.4 隨機(jī)函數(shù) 28
1.3.5 其他常用函數(shù) 31
1.4 股價(jià)統(tǒng)計(jì)分析案例 31
1.4.1 讀取南方股價(jià)數(shù)據(jù)文件 32
1.4.2 計(jì)算市盈率 34
1.4.3 計(jì)算成交額加權(quán)平均價(jià)格 35
1.4.4 計(jì)算股價(jià)的極值 36
1.4.5 計(jì)算股價(jià)方差與標(biāo)準(zhǔn)差 37
1.4.6 計(jì)算股票收益率和波動(dòng)率 38
1.4.7 求平均收盤價(jià)極值分別為星期幾 41
第 2章 數(shù)據(jù)分析模塊pandas 43
2.1 pandas基礎(chǔ) 43
2.1.1 pandas簡(jiǎn)介 43
2.1.2 pandas的數(shù)據(jù)結(jié)構(gòu) 43
2.1.3 pandas的安裝和導(dǎo)入 44
2.1.4 pandas數(shù)據(jù)結(jié)構(gòu)的運(yùn)算操作 44
2.2 從文件讀取數(shù)據(jù)構(gòu)建DataFrame 49
2.2.1 讀取csv文件 49
2.2.2 讀取txt文件 53
2.2.3 讀取Excel文件中的數(shù)據(jù) 54
2.2.4 將DataFrame保存為csv文件 55
2.3 DataFrame的訪問(wèn)與刪除 57
2.3.1 訪問(wèn)方式 57
2.3.2 行列的刪除 58
2.3.3 DataFrame的訪問(wèn)實(shí)例 59
2.4 時(shí)間類型的轉(zhuǎn)換與處理 60
2.4.1 pandas.to_datetime() 60
2.4.2 提取年月日、時(shí)分秒、季節(jié)、星期 61
2.4.3 批量處理Datetime數(shù)據(jù) 62
2.5 數(shù)據(jù)的清洗 63
2.5.1 查找所有存在缺失值的行 63
2.5.2 刪除缺失值 64
2.5.3 填充缺失值 67
2.5.4 重復(fù)值的處理 70
2.5.5 設(shè)置與重置索引 74
2.6 數(shù)據(jù)整理 78
2.6.1 列內(nèi)容模糊篩選 78
2.6.2 列數(shù)據(jù)轉(zhuǎn)換 80
2.6.3 數(shù)據(jù)處理 80
2.7 數(shù)據(jù)分析統(tǒng)計(jì) 84
2.7.1 數(shù)據(jù)的描述性分析 84
2.7.2 數(shù)據(jù)的分組分析 86
2.7.3 連續(xù)數(shù)據(jù)分區(qū) 91
2.7.4 數(shù)據(jù)的相關(guān)性分析 93
第3章 JSON模塊與格式轉(zhuǎn)換 97
3.1 JSON對(duì)象與Python對(duì)象 97
3.1.1 Python對(duì)象轉(zhuǎn)換為JSON對(duì)象 97
3.1.2 JSON對(duì)象轉(zhuǎn)換成Python對(duì)象 98
3.1.3 Python對(duì)象和JSON對(duì)象的對(duì)比 98
3.2 JSON文件的讀操作 99
3.2.1 保存JSON文件 99
3.2.2 讀取json文件 100
3.2.3 JSON模塊的4個(gè)函數(shù) 100
3.3 JSON文件的練習(xí) 101
3.3.1 讀取JSON文件 101
3.3.2 pprint模塊 102
3.4 打開(kāi)文件 103
3.4.1 引入with打開(kāi)文件的原因 103
3.4.2 使用with open()as讀寫文件 104
第4章 連接數(shù)據(jù)庫(kù)的pymysql模塊 107
4.1 在Python 3中連接MySQL 107
4.1.1 游標(biāo) 107
4.1.2 使用pymysql鏈接MySQL 108
4.1.3 pymysql.connect()的參數(shù)與實(shí)例 110
4.2 pymysql的基本使用 112
4.2.1 數(shù)據(jù)庫(kù)記錄的增刪改查操作 112
4.2.2 返回字典格式數(shù)據(jù) 120
4.2.3 pymysql與pandas結(jié)合 121
第5章 matplotlib可視化模塊 125
5.1 確定畫布的大小和格局 125
5.1.1 主畫布的設(shè)置 125
5.1.2 matplotlib屬性的設(shè)置 126
5.1.3 增加子圖 127
5.1.4 解決子圖標(biāo)題重疊問(wèn)題 129
5.2 繪制折線圖和散點(diǎn)圖 130
5.2.1 plt.plot()函數(shù)的語(yǔ)法與基本使用 130
5.2.2 圖形的主要設(shè)置 133
5.2.3 設(shè)置x、y軸坐標(biāo)刻度 136
5.2.4 在圖上添加注釋 137
5.2.5 使用plt.plot()函數(shù)繪制散點(diǎn)圖 140
5.3 使用plt.scatter()函數(shù)繪制散點(diǎn)圖 141
5.4 使用plt.bar()函數(shù)繪制條形圖 142
5.4.1 plt.bar()函數(shù)的語(yǔ)法與參數(shù) 143
5.4.2 堆疊條形圖 143
5.4.3 并列條形圖 144
5.4.4 條形圖(橫圖) 145
5.4.5 正負(fù)條形圖 146
5.5 使用plt.hist()函數(shù)繪制直方圖 147
5.5.1 直方圖與條形圖的區(qū)別 148
5.5.2 繪制直方圖的一般格式 148
5.6 繪制箱形圖 151
5.6.1 箱形圖的組成、形狀與作用 151
5.6.2 繪制畫箱形圖 153
5.6.3 給箱形圖添加注釋 159
5.7 雷達(dá)圖 164
5.7.1 極坐標(biāo) 164
5.7.2 繪制雷達(dá)圖 164
5.8 三維圖 166
5.9 通過(guò)DataFrame生成折線圖 167
第6章 Flask框架與ECharts可視化 170
6.1 Flask框架的基本概念與使用 170
6.1.1 Flask的基本使用方法 170
6.1.2 Flask框架的概念與更多使用方法 172
6.2 ECharts的使用 175
6.2.1 下載ECharts視圖示例網(wǎng)頁(yè) 175
6.2.2 編號(hào)Flask程序調(diào)用示例網(wǎng)頁(yè) 177
6.3 Flask結(jié)合ECharts實(shí)現(xiàn)動(dòng)態(tài)視圖 179
6.3.1 準(zhǔn)備js支持文件 179
6.3.2 在Flask框架的程序中定義數(shù)據(jù) 182
6.3.3 修改HTML以適應(yīng)Flask動(dòng)態(tài)數(shù)據(jù) 184
6.4 Flask MySQL ECharts聯(lián)動(dòng)視圖 187
6.4.1 數(shù)據(jù)庫(kù)及表的準(zhǔn)備工作 187
6.4.2 選擇簡(jiǎn)單柱狀圖作為模板 189
6.4.3 從MySQL中獲取數(shù)據(jù)到ECharts視圖展示 190
第7章 機(jī)器學(xué)習(xí)模塊sklearn 195
7.1 sklearn線性回歸 195
7.1.1 一元線性回歸模型訓(xùn)練 195
7.1.2 線性回歸模型的評(píng)估方法 198
7.1.3 分割語(yǔ)句的用法 199
7.1.4 最小二乘法線性回歸 200
7.2 sklearn分類算法 202
7.2.1 與分類器相關(guān)的概念 202
7.2.2 K近鄰算法 203
7.2.3 貝葉斯算法 205
7.2.4 決策樹(shù)算法 208
7.2.5 隨機(jī)森林算法 210
7.2.6 SVM算法 211
7.3 Sklearn聚類算法 213
7.3.1 K均值聚類的基本原理 213
7.3.2 K均值聚類算法的主要參數(shù) 214
7.3.3 根據(jù)身高、體重和性別聚類 215
7.3.4 對(duì)鳶尾花數(shù)據(jù)進(jìn)行K均值聚類 220