目 錄
第1章 構建Python開發(fā)環(huán)境 1
1.1 理解數(shù)據(jù)分析 1
1.1.1 數(shù)據(jù)分析是什么 1
1.1.2 數(shù)據(jù)分析的步驟 2
1.2 安裝Python及開發(fā)工具 3
1.2.1 安裝Python 3 3
1.2.2 安裝第三方開發(fā)工具 5
1.2.3 認識Python程序 5
1.3 Python語言基礎 6
1.3.1 初識Python語法 6
1.3.2 保留字與標識符 9
1.3.3 變量 10
1.3.4 基本數(shù)據(jù)類型 11
1.3.5 運算符 14
1.3.6 基本輸入與輸出 18
1.4 從文件中讀取數(shù)據(jù) 19
1.4.1 Python讀取CSV文件 19
1.4.2 Python讀取JSON文件 20
1.4.3 Python讀取數(shù)據(jù)庫文件 21
1.4.4 Python保存數(shù)據(jù)文件 22
1.5 本章小結 24
1.6 動手練習 24
第2章 控制語句 25
2.1 程序結構 25
2.2 選擇語句 26
2.2.1 if語句 26
2.2.2 if…else語句 26
2.2.3 if…elif…else語句 27
2.2.4 if語句的嵌套 28
2.3 條件表達式 29
2.4 循環(huán)語句 30
2.4.1 while循環(huán) 30
2.4.2 for循環(huán) 30
2.4.3 循環(huán)嵌套 32
2.5 跳轉語句 33
2.5.1 continue語句 33
2.5.2 break語句 34
2.6 pass語句 35
2.7 本章小結 35
2.8 動手練習 35
第3章 序列 37
3.1 序列概述 37
3.1.1 索引 37
3.1.2 切片 38
3.1.3 序列相加 38
3.1.4 乘法 39
3.1.5 檢查某個元素是不是序列的成員 39
3.1.6 計算序列的長度、最大值和最小值 40
3.2 列表 40
3.2.1 創(chuàng)建與刪除列表 40
3.2.2 訪問列表元素 42
3.2.3 遍歷列表 42
3.2.4 添加、修改和刪除列表元素 44
3.2.5 對列表進行統(tǒng)計和計算 46
3.2.6 對列表進行排序 47
3.2.7 列表推導式 49
3.2.8 二維列表的使用 51
3.3 元組 52
3.3.1 創(chuàng)建與刪除元組 52
3.3.2 訪問元組元素 54
3.3.3 修改元組元素 55
3.3.4 元組推導式 55
3.3.5 元組和列表的區(qū)別 56
3.4 字典 56
3.4.1 字典的創(chuàng)建與刪除 57
3.4.2 通過鍵-值對訪問字典 59
3.4.3 遍歷字典 60
3.4.4 添加、修改和刪除字典元素 60
3.4.5 字典推導式 61
3.5 集合 61
3.5.1 創(chuàng)建集合 62
3.5.2 添加和刪除集合元素 63
3.5.3 集合的交集、并集和差集運算 64
3.5.4 列表、元組、字典和集合的區(qū)別 65
3.6 本章小結 65
3.7 動手練習 66
第4章 函數(shù) 67
4.1 創(chuàng)建和調(diào)用函數(shù) 67
4.1.1 創(chuàng)建函數(shù) 67
4.1.2 調(diào)用函數(shù) 69
4.2 函數(shù)的參數(shù) 69
4.2.1 形式參數(shù)和實際參數(shù) 69
4.2.2 位置參數(shù) 71
4.2.3 關鍵字參數(shù) 71
4.2.4 為參數(shù)設置默認值 72
4.2.5 可變參數(shù) 74
4.2.6 Python中參數(shù)的總結 75
4.3 返回值 76
4.4 變量的作用域 78
4.4.1 局部變量 78
4.4.2 全局變量 78
4.5 匿名函數(shù) 78
4.6 程序模塊化 80
4.6.1 模塊概述 80
4.6.2 自定義模塊 80
4.6.3 模塊的搜索目錄 83
4.7 Python中的包 84
4.7.1 python程序的包結構 84
4.7.2 創(chuàng)建和使用包 84
4.8 引用其他模塊 87
4.8.1 導入和使用模塊標準 87
4.8.2 第三方模塊的下載與安裝 87
4.9 本章小結 89
4.10 動手練習 90
第5章 字符串及正則表達式 91
5.1 字符串的常用操作 91
5.1.1 拼接字符串 91
5.1.2 計算字符串長度 92
5.1.3 截取字符串 93
5.1.4 分割、合并字符串 94
5.1.5 檢索字符串 96
5.1.6 字符串大小寫轉換 98
5.1.7 去除字符串中的空格和特殊字符 99
5.2 字符串編碼轉換 101
5.2.1 encode()方法對字符串編碼 102
5.2.2 decode()方法對字符串解碼 103
5.3 正則表達式基礎 103
5.3.1 元字符 104
5.3.2 行定位符 108
5.3.3 字符類 108
5.3.4 排除字符 108
5.3.5 選擇字符 109
5.3.6 轉義字符 109
5.3.7 分組 109
5.3.8 正則表達式語法 110
5.4 re模塊 110
5.4.1 匹配字符串 110
5.4.2 替換字符串 112
5.4.3 分割字符串 113
5.5 本章小結 113
5.6 動手練習 114
第6章 用NumPy進行數(shù)據(jù)計算 115
6.1 安裝NumPy 115
6.2 NumPy數(shù)組 117
6.2.1 ndarray數(shù)組基礎及實例 118
6.2.2 矩陣 125
6.2.3 NumPy線性代數(shù)相關函數(shù) 126
6.3 NumPy函數(shù) 129
6.3.1 字符串函數(shù)及實例 129
6.3.2 數(shù)學函數(shù)及實例 134
6.3.3 算術函數(shù) 137
6.3.4 統(tǒng)計函數(shù) 140
6.3.5 排序條件篩選函數(shù) 146
6.4 本章小結 152
6.5 動手練習 152
第7章 用Pandas進行數(shù)據(jù)處理 153
7.1 安裝Pandas 153
7.2 Pandas數(shù)據(jù)結構 154
7.2.1 Pandas數(shù)據(jù)結構Series 154
7.2.2 Pandas數(shù)據(jù)結構DataFrame 157
7.3 Pandas數(shù)據(jù)清洗 161
7.3.1 清洗空值 162
7.3.2 清洗格式錯誤數(shù)據(jù) 166
7.3.3 清洗錯誤數(shù)據(jù) 167
7.3.4 清洗重復數(shù)據(jù) 168
7.4 本章小結 170
7.5 動手練習 170
第8章 用SciPy進行科學計算 171
8.1 安裝SciPy 171
8.2 SciPy數(shù)學模塊 172
8.2.1 SciPy常量模塊 172
8.2.2 SciPy優(yōu)化模塊 175
8.2.3 SciPy稀疏矩陣模塊 177
8.2.4 SciPy圖結構 180
8.2.5 SciPy插值模塊 188
8.3 SciPy工程模塊 191
8.3.1 SciPy Matlab數(shù)組 192
8.3.2 Scipy 顯著性檢驗 195
8.4 本章小結 200
8.5 動手練習 200
第9章 Matplotlib數(shù)據(jù)可視化 202
9.1 安裝Matplotlib 202
9.2 Matplotlib繪圖基礎 202
9.2.1 Matplotlib Pyplot模塊 203
9.2.2 Matplotlib繪圖標記 210
9.2.3 Matplotlib繪制圖線 215
9.2.4 Matplotlib軸標簽和標題 219
9.3 Matplotlib網(wǎng)格線 222
9.4 Matplotlib繪制圖形 225
9.4.1 Matplotlib繪制多個子圖 225
9.4.2 Matplotlib 散點圖及實例 230
9.4.3 Matplotlib柱形圖 237
9.4.4 Matplotlib餅圖 241
9.5 本章小結 243
9.6 動手練習 244
第10章 用Scikit-learn進行數(shù)據(jù)分析 246
10.1 Scikit-learn簡介 246
10.1.1 安裝 Scikit-learn 246
10.1.2 機器學習和Scikit-learn庫 247
10.2 利用Scikit-learn進行數(shù)據(jù)分析的方法 248
10.2.1 決策樹(Decision Trees (DTs)) 248
10.2.2 支持向量機 253
10.2.3 樸素貝葉斯 258
10.3 聚類 260
10.3.1 概述 260
10.3.2 K-means 260
10.3.3 層次聚類 262
10.4 時間序列 266
10.4.1 時間序列概念 266
10.4.2 ARMA模型預測案例 266
10.5 主成分分析 274
10.5.1 主成分分析的概念 274
10.5.2 主成分分析案例 274
10.6 本章小結 279
10.7 動手練習 280
第11章 數(shù)據(jù)分析案例 281
11.1 案例1:IMDB電影數(shù)據(jù)分析 281
11.1.1 案例描述 281
11.1.2 準備數(shù)據(jù) 282
11.1.3 數(shù)據(jù)清洗 283
11.1.4 數(shù)據(jù)分析與數(shù)據(jù)可視化 283
11.1.5 思考練習 290
11.2 案例2:二手房房價預測分析 290
11.2.1 案例描述 290
11.2.2 系統(tǒng)設計 291
11.2.3 技術準備 292
11.2.4 二手房數(shù)據(jù)分析 294
11.2.5 案例小結 302