第 1章
數據分析概述 1
1.1 數據的性質 1
1.1.1 數據的概念 1
1.1.2 數據的類型 1
1.2 數據分析 2
1.2.1 數據分析的概念 2
1.2.2 數據分析的過程 2
1.2.3 數據分析的作用 5
1.2.4 數據分析的常用工具 5
本章小結 5
思考練習 6
第 2章
Python與數據分析 7
2.1 Python簡介 7
2.1.1 Python語言的特點 7
2.1.2 Python解釋器 8
2.2 Python與數據分析的關系 8
2.3 Python數據分析常用的類庫 8
2.4 Python開發(fā)環(huán)境的搭建 10
2.5 Python集成開發(fā)環(huán)境的搭建 13
2.5.1 PyCharm的安裝與使用 13
2.5.2 Jupyter Notebook的安裝與
使用 19
項目實踐 25
本章小結 25
思考練習 25
第3章
Python語言基礎 26
3.1 Python基礎語法 26
3.1.1 Python的語法規(guī)則 26
3.1.2 常量、變量與標準數據類型 29
3.1.3 第 一個Python程序 30
3.2 Python的數據類型 31
3.2.1 數字 31
3.2.2 字符串 33
3.2.3 Python的數據結構組成 36
3.2.4 列表 36
3.2.5 元組 40
3.2.6 字典 43
3.2.7 集合 48
3.3 Python流程控制語句 50
3.3.1 if條件語句 51
3.3.2 while循環(huán)控制語句 52
3.3.3 for循環(huán)控制語句 53
3.3.4 range()函數的作用 53
3.3.5 break、continue、pass語句 54
3.4 Python的函數 55
3.4.1 自定義函數 55
3.4.2 設置函數參數 55
3.4.3 返回函數值 57
3.4.4 調用自定義函數 57
3.4.5 局部變量和全局變量 58
3.4.6 函數嵌套 59
3.4.7 匿名函數 60
項目實踐 60
本章小結 62
思考練習 62
第4章
NumPy數組與矢量計算 64
4.1 NumPy概述 64
4.1.1 NumPy簡介 64
4.1.2 NumPy的安裝與測試 65
4.1.3 SciPy簡介及其安裝與測試 65
4.1.4 NumPy的簡單應用:一維
數組相加 66
4.2 NumPy數組對象 67
4.2.1 創(chuàng)建數組對象 68
4.2.2 選取數組元素 68
4.2.3 數組的屬性 68
4.2.4 創(chuàng)建數組的其他方法 69
4.2.5 NumPy的數據類型 70
4.3 NumPy數組操作 72
4.3.1 數組的索引和切片 72
4.3.2 修改數組形狀 74
4.3.3 數組的展平 75
4.3.4 數組轉置和軸對換 76
4.3.5 數組的連接 77
4.3.6 數組的分割 78
4.3.7 數組轉換 79
4.3.8 添加/刪除數組元素 79
4.4 NumPy數組的矢量計算 81
4.4.1 數組的運算 81
4.4.2 通用函數(ufunc) 83
4.5 NumPy矩陣創(chuàng)建、計算及
操作 84
4.6 隨機數的生成 87
項目實踐 89
本章小結 90
思考練習 90
第5章
用NumPy進行簡單統計
分析 91
5.1 文件讀寫操作 91
5.1.1 使用NumPy讀寫文本文件 91
5.1.2 使用NumPy讀寫二進制格式
文件 93
5.1.3 使用NumPy讀寫多維數據
文件 94
5.2 NumPy常用的統計函數 94
5.3 使用NumPy函數進行統計
分析 98
5.3.1 NumPy的排序函數 98
5.3.2 NumPy的去重與重復函數 100
5.3.3 NumPy的搜索和計數函數 102
5.4 簡單的統計分析 103
項目實踐 106
本章小結 107
思考練習 107
第6章
數據可視化——
Matplotlib庫 109
6.1 Matplotlib概述 109
6.1.1 Matplotlib簡介 109
6.1.2 Matplotlib的測試、安裝與
導入 110
6.1.3 IPython及pylab模式 111
6.2 使用pyplot創(chuàng)建圖形 111
6.2.1 創(chuàng)建簡單圖形 111
6.2.2 創(chuàng)建子圖 114
6.3 Matplotlib參數配置 115
6.3.1 matplotlibrc配置文件 115
6.3.2 設置動態(tài)rc參數 116
6.4 分析變量間關系圖 117
6.4.1 繪制散點圖 117
6.4.2 繪制折線圖 119
6.5 分析變量數據分布和分散
狀況 120
6.5.1 繪制直方圖 120
6.5.2 繪制柱狀圖 122
6.5.3 繪制餅圖 123
6.5.4 繪制箱線圖 125
項目實踐 126
本章小結 127
思考練習 127
第7章
pandas數據分析基礎 128
7.1 pandas概述 128
7.1.1 pandas簡介 128
7.1.2 pandas測試、安裝與
導入 129
7.2 pandas的數據結構及常用
操作 130
7.2.1 Series對象及常用操作 130
7.2.2 DataFrame對象及常用
操作 134
7.3 pandas的索引 141
7.3.1 Index索引對象 141
7.3.2 Index對象的屬性和方法 141
7.3.3 重新索引 143
7.3.4 層級索引 144
7.4 pandas數據結構之間的
運算 148
7.4.1 算術和數據對齊 148
7.4.2 算術運算方法 149
7.4.3 DataFrame與Series對象
之間的運算 150
7.5 pandas的函數應用 151
7.5.1 數據篩選 151
7.5.2 apply()函數 151
7.5.3 數據統計函數 153
7.5.4 DataFrame格式化函數 153
7.5.5 排序和排名 154
7.6 數據讀取與寫入 156
7.6.1 讀/寫文本文件 156
7.6.2 讀/寫Excel文件 158
7.6.3 讀/寫數據庫文件 159
7.6.4 讀/寫JSON文件 162
7.7 數據分析方法 163
7.7.1 基本統計分析 163
7.7.2 分組分析 164
7.7.3 分布分析 165
7.7.4 交叉分析 166
7.7.5 結構分析 168
7.7.6 相關分析 169
項目實踐 171
本章小結 171
思考練習 172
第8章
用pandas進行數據
預處理 173
8.1 數據清洗 173
8.1.1 重復值的處理 173
8.1.2 缺失值的處理 174
8.1.3 異常值的處理 177
8.2 數據合并 178
8.2.1 按鍵連接數據 179
8.2.2 沿軸連接數據 181
8.2.3 合并重疊數據 184
8.3 數據抽取 185
8.3.1 字段抽取與拆分 185
8.3.2 記錄抽取 186
8.4 重塑層次化索引 187
8.5 映射與數據轉換 188
8.5.1 用映射替換元素 189
8.5.2 用映射添加元素 190
8.5.3 重命名軸索引 190
8.6 排列與隨機抽樣 191
8.7 日期轉換、日期格式化和日期
抽取 192
8.8 字符串處理 194
8.8.1 內置的字符串處理方法 194
8.8.2 正則表達式 196
8.8.3 矢量化的字符串函數 201
項目實踐 203
本章小結 204
思考練習 204
第9章
機器學習庫scikit-learn
入門 206
9.1 機器學習概述 206
9.2 scikit-learn概述 208
9.2.1 scikit-learn介紹 208
9.2.2 scikit-learn測試、安裝和
導入 209
9.3 第 一個機器學習程序 209
9.4 使用scikit-learn進行機器
學習 210
9.4.1 Seaborn繪圖 210
9.4.2 準備數據集 215
9.4.3 選擇模型 220
9.4.4 調整參數訓練和測試模型 223
項目實踐 226
本章小結 228
思考練習 228
第 10章
電影數據分析項目 230
10.1 項目描述 230
10.2 準備數據 231
10.3 數據清洗 231
10.4 數據分析與數據可視化 232
本章小結 238
思考練習 238
參考文獻 239