本書以《Python 程序開發(fā)職業(yè)技能等級標準》 為編寫依據(jù),內(nèi)容主要由數(shù)據(jù)收集與清洗、數(shù)據(jù)可視化與數(shù)據(jù)分析、人工智能應用3個部分組成,涵蓋了 NumPy、pandas、數(shù)據(jù)處理、數(shù)據(jù)可視化、機器學習、深度學習和推薦系統(tǒng)等相關(guān)知識。
本書以模塊化的結(jié)構(gòu)組織各個章節(jié),以任務驅(qū)動的方式安排內(nèi)容,以培養(yǎng)學生能力為目的,充分體現(xiàn)了“做中學,學中做”的思想。本書可用于 1+×證書制度試點工作中的 Python 程序開發(fā)職業(yè)技能培訓,也可以作為期望從事 Python 程序開發(fā)人員的自學參考用書。
1.內(nèi)容豐富,組織合理
叢書由淺入深,以模塊化的結(jié)構(gòu)組織各章節(jié),以任務驅(qū)動的方式安排具體內(nèi)容,以培養(yǎng)院校學生能力為目的,體現(xiàn)了“教、學、做一體化”的思想。
2.結(jié)合實際,突出實踐
叢書由企業(yè)工程師精心設計了大量案例和項目實訓,案例和項目實訓有詳細的代碼說明和步驟解釋,讀者在學習理論知識的同時能夠進行項目實踐,方便讀者快速上手Python。
3.資源豐富,立體教學
叢書配備了豐富的立體化教學資源,包括教學PPT、案例代碼、習題答案等。
4.融入1+X證書標準
叢書以《Python程序開發(fā)職業(yè)技能等級標準》為編寫依據(jù)。
中慧云啟科技集團有限公司是一家專業(yè)從事中高職業(yè)院校軟件實訓教學綜合解決方案,集研發(fā)、生產(chǎn)、銷售、培訓和技術(shù)服務于一體的國家高新技術(shù)企業(yè)公司。中慧舉辦Web前端開發(fā)技能競賽四屆,該賽項類別分為全國行業(yè)賽和省賽,提升教育行業(yè)教學改革和IT人才建設。同時,中慧為世界技能大賽全國選拔賽網(wǎng)站設計與開發(fā)項目提供技術(shù)支持,成功保障人才選拔順利進行,提升中國在世界技能大賽Web?Technologies項目的聲望和地位。書籍的作者由中慧科技的講師、高級工程師,山東科技職業(yè)學院教授Web前端開發(fā)的教師團隊共同組成,從企業(yè)用人需求,課證賽融通、高職教學需求幾個方面出發(fā),共同編寫。
目錄
第 一篇 數(shù)據(jù)收集與清洗
第 1章 NumPy 2
1.1 介紹和安裝開發(fā)環(huán)境 2
1.1.1 Python開發(fā)環(huán)境介紹 2
1.1.2 安裝Anaconda3 3
1.1.3 Jupyter編輯平臺 5
1.2 安裝NumPy 6
1.3 NumPy數(shù)組 7
1.3.1 NumPy ndarray對象 7
1.3.2 創(chuàng)建NumPy數(shù)組的常用函數(shù) 8
1.4 數(shù)組的索引與切片 11
1.4.1 數(shù)組的索引 11
1.4.2 數(shù)組的切片 15
1.5 基本數(shù)學運算 17
1.5.1 數(shù)組與標量的運算 17
1.5.2 數(shù)組與數(shù)組的運算 18
1.6 NumPy通用函數(shù) 18
1.6.1 mean()函數(shù) 18
1.6.2 average()函數(shù) 19
1.6.3 sum()函數(shù) 20
1.6.4 min()函數(shù) 20
1.6.5 max()函數(shù) 20
1.6.6 argmax()函數(shù) 21
1.6.7 maximum()/minimum()函數(shù) 21
1.6.8 median()函數(shù) 22
1.6.9 var()函數(shù) 23
1.6.10 std()函數(shù) 23
1.6.11 sort()函數(shù) 24
1.6.12 loadtxt()函數(shù) 24
1.7 NumPy字符串處理 26
1.7.1 add()函數(shù) 26
1.7.2 multiply()函數(shù) 26
1.7.3 center()函數(shù) 27
1.7.4 capitalize()函數(shù)和title()函數(shù) 27
1.7.5 lower()函數(shù)和upper()函數(shù) 27
1.7.6 split()函數(shù) 27
1.7.7 splitlines()函數(shù) 27
1.7.8 strip()函數(shù) 28
1.7.9 lstrip()函數(shù)和rstrip()函數(shù) 28
1.7.10 join()函數(shù) 28
1.7.11 replace()函數(shù) 28
1.8 項目實訓——蘋果公司股票數(shù)據(jù)分析 29
1.8.1 項目需求 29
1.8.2 項目實施 29
1.8.3 項目分析 31
本章小結(jié) 31
習題 31
第 2章 pandas 34
2.1 安裝pandas 34
2.2 Series對象的基本操作 35
2.2.1 創(chuàng)建Series對象 36
2.2.2 查詢Series對象中的數(shù)據(jù) 37
2.2.3 修改、刪除Series對象中的數(shù)據(jù) 38
2.3 DataFrame對象的基本操作 40
2.3.1 創(chuàng)建DataFrame對象 41
2.3.2 DataFrame對象的屬性 42
2.3.3 查詢DataFrame對象中的數(shù)據(jù) 43
2.3.4 修改DataFrame對象中的數(shù)據(jù) 47
2.3.5 增加DataFrame對象中的數(shù)據(jù) 47
2.3.6 刪除DataFrame對象中的數(shù)據(jù) 49
2.4 pandas讀寫數(shù)據(jù) 51
2.4.1 讀寫CSV文件 51
2.4.2 讀寫Excel文件 54
2.4.3 讀寫JSON文件 56
2.5 數(shù)據(jù)索引、排序和排名 58
2.5.1 DataFrame的索引 58
2.5.2 DataFrame的排序 61
2.5.3 DataFrame的排名 64
2.6 項目實訓——鏈家房屋數(shù)據(jù)分析 65
2.6.1 項目需求 65
2.6.2 項目實施 66
2.6.3 項目分析 69
本章小結(jié) 69
習題 70
第3章 數(shù)據(jù)處理 72
3.1 數(shù)據(jù)清洗 73
3.1.1 處理重復數(shù)據(jù) 73
3.1.2 處理缺失數(shù)據(jù) 75
3.2 數(shù)據(jù)計算 79
3.2.1 基本數(shù)學運算 79
3.2.2 比較運算 81
3.2.3 統(tǒng)計方法 81
3.3 數(shù)據(jù)分組 87
3.3.1 分組聚合 87
3.3.2 透視表 90
3.4 數(shù)據(jù)轉(zhuǎn)置與數(shù)據(jù)位移 91
3.4.1 數(shù)據(jù)類型轉(zhuǎn)換 91
3.4.2 數(shù)據(jù)轉(zhuǎn)置 98
3.4.3 數(shù)據(jù)位移 100
3.5 數(shù)據(jù)合并 100
3.5.1 堆疊合并 101
3.5.2 主鍵合并 104
3.5.3 重疊合并 106
3.6 項目實訓——電影數(shù)據(jù)分析 106
3.6.1 項目需求 106
3.6.2 項目實施 107
3.6.3 項目分析 110
本章小結(jié) 111
習題 111
第二篇 數(shù)據(jù)可視化與數(shù)據(jù)分析
第4章 數(shù)據(jù)可視化 114
4.1 可視化介紹 114
4.2 Matplotlib簡介 115
4.2.1 什么是Matplotlib 115
4.2.2 Matplotlib的使用場景 115
4.2.3 Matplotlib的安裝 115
4.3 Matplotlib繪圖 115
4.3.1 Matplotlib繪圖的核心原理 115
4.3.2 折線圖 116
4.3.3 柱狀圖 128
4.3.4 直方圖 132
4.3.5 餅圖 136
4.3.6 散點圖 138
4.3.7 函數(shù)圖 142
4.3.8 3D繪圖 144
4.4 Seaborn繪圖 145
4.4.1 認識Seaborn 145
4.4.2 折線圖 146
4.4.3 散點圖 147
4.4.4 直方圖 148
4.5 可視化分析報告 152
4.5.1 報告需求 152
4.5.2 報告內(nèi)容說明 152
4.5.3 業(yè)務實踐 152
4.5.4 報告分析 154
4.6 項目實訓——2014年度用戶每月購買商品次數(shù)和購買商品數(shù)量分析報告 154
4.6.1 報告需求 154
4.6.2 報告內(nèi)容說明 154
4.6.3 項目實施 154
4.6.4 報告分析 155
本章小結(jié) 156
習題 156
第5章 數(shù)據(jù)分析 158
5.1 數(shù)據(jù)分析介紹 158
5.2 列表分析 159
5.2.1 分析需求 159
5.2.2 分析關(guān)注點 159
5.2.3 分析思路 159
5.2.4 列表分析結(jié)果 164
5.3 協(xié)方差分析 164
5.3.1 認識協(xié)方差分析 164
5.3.2 協(xié)方差分析的意義 164
5.3.3 協(xié)方差分析實施 165
5.3.4 協(xié)方差分析結(jié)果 166
5.4 直方圖分析 166
5.4.1 需求分析 166
5.4.2 分析關(guān)注點 166
5.4.3 分析思路 166
5.4.4 直方圖分析結(jié)果 169
5.5 對比分析 169
5.5.1 認識對比分析 169
5.5.2 分析需求 169
5.5.3 分析關(guān)注點 169
5.5.4 分析思路 169
5.5.5 對比分析結(jié)果 174
5.6 項目實訓——全國各省份“985”高校高考錄取分數(shù)線分析 174
5.6.1 需求分析 174
5.6.2 分析關(guān)注點 174
5.6.3 分析思路 174
5.6.4 對比分析結(jié)果 178
本章小結(jié) 178
習題 179
第三篇 人工智能應用
第6章 機器學習 182
6.1 認識機器學習 182
6.1.1 機器學習應用場景 182
6.1.2 機器學習的組成 183
6.1.3 訓練過程 185
6.1.4 算法匯總 185
6.1.5 開發(fā)流程 185
6.2 認識并安裝Scikit-Learn 186
6.2.1 Scikit-Learn簡介 186
6.2.2 Scikit-Learn基本概括 186
6.2.3 模型選擇 186
6.2.4 數(shù)據(jù)劃分 187
6.2.5 常用模塊 188
6.2.6 安裝sklearn 188
6.3 回歸模型 188
6.3.1 廣義線性模型 189
6.3.2 樹回歸 191
6.3.3 k近鄰回歸 192
6.3.4 集成回歸模型:Bagging 193
6.3.5 集成回歸模型:Boosting 194
6.4 分類模型 194
6.4.1 邏輯回歸 195
6.4.2 決策樹 196
6.4.3 支持向量機 197
6.4.4 KNN 198
6.4.5 樸素貝葉斯 198
6.4.6 集成模型:Bagging 199
6.4.7 集成模型:Boosting 200
6.5 聚類模型 201
6.5.1 聚類 201
6.5.2 降維 203
6.6 項目實訓——手寫數(shù)字識別 204
6.6.1 實訓需求 204
6.6.2 項目分析 204
6.6.3 數(shù)據(jù)集導入及處理 204
6.6.4 劃分訓練集和測試集 204
6.6.5 隨機森林模型 204
6.6.6 k近鄰模型 205
6.6.7 邏輯回歸模型 205
6.6.8 模型選擇及分類 205
6.6.9 項目結(jié)果分析 206
本章小結(jié) 206
習題 206
第7章 深度學習 208
7.1 神經(jīng)網(wǎng)絡 208
7.1.1 認識神經(jīng)網(wǎng)絡 208
7.1.2 神經(jīng)網(wǎng)絡基礎(chǔ) 211
7.2 深度學習框架Keras 213
7.2.1 認識Keras 213
7.2.2 Keras的安裝 214
7.2.3 Keras里的模塊介紹 215
7.2.4 Keras工作流程 216
7.3 深度學習的應用 216
7.3.1 Mnist手寫數(shù)字數(shù)據(jù)集 216
7.3.2 CNN 219
7.3.3 RNN 221
7.4 項目實訓——CIFAR-10圖像識別 224
7.4.1 實訓需求 224
7.4.2 CIFAR-10數(shù)據(jù)集簡介 224
7.4.3 項目實踐 224
7.4.4 項目總結(jié) 227
本章小結(jié) 228
習題 228
第8章 推薦系統(tǒng) 229
8.1 認識協(xié)同過濾 229
8.2 基于用戶的協(xié)同過濾算法 230
8.3 基于項目的協(xié)同過濾算法 232
8.4 項目實訓——電影推薦系統(tǒng) 237
8.4.1 實訓需求 237
8.4.2 數(shù)據(jù)集介紹 237
8.4.3 項目實施 238
8.4.4 結(jié)果分析 242
本章小結(jié) 242
習題 242