第1章 Python開發環境搭建與編碼規範8
本章學習目標8
1.1 Python開發環境搭建與使用8
1.1.1 IDLE8
1.1.2 Anaconda310
1.1.3 安裝擴展庫12
1.2 Python編碼規範13
1.3 標準庫、擴展庫對象的導入與使用15
1.3.1 import 模塊名[ as 別名]15
1.3.2 from 模塊名 import 對象名[ as 別名]15
1.3.3 from 模塊名 import *16
本章知識要點16
本章習題17
第2章 數據類型、運算符與內置函數18
本章學習目標18
2.1 常用內置數據類型18
2.1.1 整數、實數、複數19
2.1.2 列表、元組、字典、集合20
2.1.3 字符串21
2.2 運算符與表達式22
2.2.1 算術運算符22
2.2.2 關係運算符24
2.2.3 成員測試運算符25
2.2.4 集合運算符25
2.2.5 邏輯運算符26
2.3 常用內置函數26
2.3.1 類型轉換28
2.3.2 最大值、最小值29
2.3.3 元素數量、求和30
2.3.4 排序、逆序31
2.3.5 基本輸入輸出32
2.3.6 range()32
2.3.7 zip()33
2.3.8 map()、reduce()、filter()33
2.4 綜合應用與例題解析35
本章知識要點36
本章習題37
第3章 列表、元組、字典、集合與字符串38
本章學習目標38
3.1 列表與列表推導式38
3.1.1 創建列表38
3.1.2 使用下標訪問列表中的元素39
3.1.3 列表常用方法39
3.1.4 列表推導式41
3.1.5 切片操作42
3.2 元組與生成器表達式43
3.2.1 元組與列表的區別43
3.2.2 生成器表達式43
3.2.3 序列解包44
3.3 字典44
3.3.1 字典元素訪問45
3.3.2 字典元素修改、添加與刪除46
3.4 集合46
3.4.1 集合概述46
3.4.2 集合常用方法47
3.5 字符串常用方法47
3.5.1 encode()47
3.5.2 format()48
3.5.3 index()、rindex()、count()49
3.5.4 replace()、maketrans()、translate()49
3.5.5 ljust()、rjust()、center()50
3.5.6 split()、rsplit()、join()50
3.5.7 lower()、upper()、capitalize()、title()、swapcase()50
3.5.8 startswith()、endswith()51
3.5.9 strip()、rstrip()、lstrip()51
3.6 綜合應用與例題解析51
本章知識要點53
本章習題54
第4章 選擇結構、循環結構、函數定義與使用55
本章學習目標55
4.1 選擇結構55
4.1.1 條件表達式55
4.1.2 單分支選擇結構55
4.1.3 雙分支選擇結構56
4.1.4 嵌套的分支結構56
4.2 循環結構57
4.2.1 for循環57
4.2.2 while循環57
4.2.3 break與continue語句57
4.3 函數定義與使用58
4.3.1 函數定義基本語法58
4.3.2 lambda表達式58
4.3.3 遞歸函數59
4.3.4 生成器函數59
4.3.5 位置參數、默認值參數、關鍵參數、可變長度參數60
4.3.6 變量作用域61
4.4 綜合應用與例題解析61
本章知識要點63
本章習題64
第5章 文件操作65
本章學習目標65
5.1 文件操作基礎65
5.1.1 內置函數open()65
5.1.2 文件對象常用方法66
5.1.3 上下文管理語句with66
5.2 JSON文件操作67
5.3 CSV文件操作67
5.4 Word、Excel、PowerPoint文件操作實戰68
本章知識要點70
本章習題71
第6章 numpy數組與矩陣運算73
本章學習目標73
6.1 numpy數組及其運算73
6.1.1 創建數組73
6.1.2 測試兩個數組的對應元素是否足夠接近75
6.1.3 修改數組中的元素值76
6.1.4 數組與標量的運算76
6.1.5 數組與數組的運算77
6.1.6 數組排序78
6.1.7 數組的內積運算78
6.1.8 訪問數組中的元素79
6.1.9 數組對函數運算的支持80
6.1.10 改變數組形狀80
6.1.11 數組布爾運算81
6.1.12 分段函數82
6.1.13 數組堆疊與合併83
6.2 矩陣生成與常用操作84
6.2.1 生成矩陣84
6.2.2 矩陣轉置84
6.2.3 查看矩陣特徵85
6.2.4 矩陣乘法86
6.2.5 計算相關係數矩陣86
6.2.6 計算方差、協方差、標準差87
6.3 計算特徵值與特徵向量87
6.4 計算逆矩陣88
6.5 求解線性方程組89
6.6 計算向量和矩陣的範數90
6.7 奇異值分解91
6.8 函數向量化92
本章知識要點93
本章習題93
第7章 pandas數據分析實戰96
本章學習目標96
7.1 pandas常用數據類型96
7.1.1 一維數組與常用操作97
7.1.2 時間序列與常用操作100
7.1.3 二維數組DataFrame103
7.2 DataFrame數據處理與分析實戰105
7.2.1 讀取Excel文件中的數據106
7.2.2 篩選符合特定條件的數據107
7.2.3 查看數據特徵和統計信息110
7.2.4 按不同標準對數據排序112
7.2.5 使用分組與聚合對員工業績進行匯總114
7.2.6 處理超市交易數據中的異常值118
7.2.7 處理超市交易數據中的缺失值119
7.2.8 處理超市交易數據中的重複值121
7.2.9 使用數據差分查看員工業績波動情況122
7.2.10 使用透視表與交叉表查看業績匯總數據123
7.2.11 使用重採樣技術按時間段查看員工業績127
7.2.12 多索引相關技術與操作128
7.2.13 使用標準差與協方差分析員工業績130
7.2.14 使用pandas的屬性接口實現高級功能133
7.2.15 繪製各員工在不同櫃檯業績平均值的柱狀圖136
7.2.16 查看DataFrame的內存佔用情況137
7.2.17 數據拆分與合併138
本章知識要點142
本章習題143
第8章 sklearn機器學習實戰145
本章學習目標145
8.1 機器學習基本概念145
8.2 機器學習庫sklearn簡介151
8.2.1 擴展庫sklearn常用模塊與對象151
8.2.2 選擇合適的模型和算法155
8.3 線性回歸算法原理與應用155
8.3.1 線性回歸模型原理155
8.3.2 sklearn中線性回歸模型的簡單應用156
8.3.3 嶺回歸原理與sklearn實現157
8.3.4 套索回歸Lasso基本原理與sklearn實現158
8.3.5 彈性網絡基本原理與sklearn實現159
8.3.6 使用線性回歸模型預測兒童身高160
8.4 邏輯回歸算法原理與應用161
8.4.1 邏輯回歸算法原理與sklearn實現161
8.4.2 使用邏輯回歸算法預測考試能否及格164
8.5 樸素貝葉斯算法原理與應用164
8.5.1 基本概念164
8.5.2 樸素貝葉斯算法分類原理與sklearn實現167
8.5.3 使用樸素貝葉斯算法對中文郵件進行分類168
8.6 決策樹與隨機森林算法應用170
8.6.1 基本概念170
8.6.2 決策樹算法原理與sklearn實現171
8.6.3 隨機森林算法原理與sklearn實現174
8.6.4 使用決策樹算法判斷學員的Python水平176
8.7 支持向量機算法原理與應用178
8.7.1 支持向量機算法基本原理與sklearn實現178
8.7.2 使用支持向量機對手寫數字圖像進行分類182
8.8 KNN算法原理與應用184
8.8.1 KNN算法基本原理與sklearn實現184
8.8.2 使用KNN算法判斷交通工具類型187
8.9 KMeans聚類算法原理與應用188
8.9.1 KMeans聚類算法基本原理與sklearn實現188
8.9.2 使用KMeans算法壓縮圖像顏色191
8.10 分層聚類算法原理與應用193
8.11 DBSCAN算法原理與應用196
8.12 使用協同過濾算法進行電影推薦199
8.13 關聯規則分析原理與應用201
8.13.1 關聯規則分析原理與基本概念201
8.13.2 使用關聯規則分析演員關係202
8.14 數據降維205
8.15 交叉驗證與網格搜索207
8.15.1 使用交叉驗證評估模型泛化能力208
8.15.2 使用網格搜索確定模型最佳參數210
本章知識要點212
本章習題214
第9章 matplotlib數據可視化實戰215
本章學習目標215
9.1 數據可視化庫matplotlib基礎215
9.2 繪製折線圖實戰216
9.3 繪製散點圖實戰220
9.4 繪製柱狀圖實戰223
9.5 繪製餅狀圖實戰227
9.6 繪製雷達圖實戰230
9.7 繪製三維圖形實戰233
9.8 繪圖區域切分實戰240
9.9 設置圖例樣式實戰242
9.10 事件響應與處理實戰246
9.11 填充圖形260
9.12 保存繪圖結果262
本章知識要點263
本章習題264
習題答案265
附表1 運算符、內置函數對常用內置對象的支持情況276
附錄2 Python關鍵字清單277
附表3 常用標準庫對象速查表278
附錄4 常用Python擴展庫清單281
參考資料282