●第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.1Python簡介7
2.1.1Python語言的特點7
2.1.2Python解釋器8
2.2Python與數據分析的關繫8
2.3Python數據分析常用的類庫8
2.4Python開發環境的搭建10
2.5Python集成開發環境的搭建13
2.5.1PyCharm的安裝與使用13
2.5.2JupyterNotebook的安裝與
使用19
項目實踐25
本章小結25
思考練習25
第3章
Python語言基礎26
3.1Python基礎語法26
3.1.1Python的語法規則26
3.1.2常量、變量與標準數據類型29
3.1.3第一個Python程序30
3.2Python的數據類型31
3.2.1數字31
3.2.2字符串33
3.2.3Python的數據結構組成36
3.2.4列表36
3.組40
3.2.6字典43
3.2.7集合48
3.3Python流程控制語句50
3.3.1if條件語句51
3.3.2while循環控制語句52
3.3.3for循環控制語句53
3.3.4range()函數的作用53
3.3.5break、continue、pass語句54
3.4Python的函數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.1NumPy概述64
4.1.1NumPy簡介64
4.1.2NumPy的安裝與測試65
4.1.3SciPy簡介及其安裝與測試65
4.1.4NumPy的簡單應用:一維
數組相加66
4.2NumPy數組對像67
4.2.1創建數組對像68
4.2.2選素68
4.2.3數組的屬性68
4.2.4創建數組的其他方法69
4.2.5NumPy的數據類型70
4.3NumPy數組操作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.4NumPy數組的矢量計算81
4.4.1數組的運算81
4.4.2通用函數(ufunc)83
4.5NumPy矩陣創建、計算及
操作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.2NumPy常用的統計函數94
5.3使用NumPy函數進行統計
分析98
5.3.1NumPy的排序函數98
5.3.2NumPy的去重與重復函數100
5.3.3NumPy的搜索和計數函數102
5.4簡單的統計分析103
項目實踐106
本章小結107
思考練習107
第6章
數據可視化——
Matplotlib庫109
6.1Matplotlib概述109
6.1.1Matplotlib簡介109
6.1.2Matplotlib的測試、安裝與
導入110
6.1.3IPython及pylab模式111
6.2使用pyplot創建圖形111
6.2.1創建簡單圖形111
6.2.2創建子圖114
6.3Matplotlib參數配置115
6.3.1matplotlibrc配置文件115
6.3.2設置動態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.1pandas概述128
7.1.1pandas簡介128
7.1.2pandas測試、安裝與
導入129
7.2pandas的數據結構及常用
操作130
7.2.1Series對像及常用操作130
7.2.2DataFrame對像及常用
操作134
7.3pandas的索引141
7.3.1Index索引對像141
7.3.2Index對像的屬性和方法141
7.3.3重新索引143
7.3.4層級索引144
7.4pandas數據結構之間的
運算148
7.4.1算術和數據對齊148
7.4.2算術運算方法149
7.4.3DataFrame與Series對像
之間的運算150
7.5pandas的函數應用151
7.5.1數據篩選151
7.5.2apply()函數151
7.5.3數據統計函數153
7.5.4DataFrame格式化函數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.2scikit-learn概述208
9.2.1scikit-learn介紹208
9.2.2scikit-learn測試、安裝和
導入209
9.3第一個機器學習程序209
9.4使用scikit-learn進行機器
學習210
9.4.1Seaborn繪圖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