Python具有強大的應用能力,以及便捷高效的數據分析和可視化擴展包系統。本書重點講解Python數據分析的基礎知識,使讀者通過Python理解數據分析的邏輯,并掌握基本的Python編程知識和分析實現方法。本書系統全面、循序漸進地介紹了Python編程基礎、數據導入、數據分析和可視化內容,包括條件判斷與循環(huán)控制、從Excel中導入數據、使用Pandas庫進行數據的轉換和計算,以及使用Plotnine庫繪制ggplot風格的圖形等。此外,本書還涉及Markdown、基本的統計理論和IPython魔術命令等內容。
為新手準備的Python數據分析入門教程!
(1)從簡單的數據出發(fā),聚焦于思考、理解和掌握數據分析邏輯。
(2)采用IPython Shell展示代碼,簡潔優(yōu)美,清晰易懂。
(3)涵蓋Python基礎知識、數據導入、數據分析和可視化基礎知識。
(4)隨學隨用,實例方案可以作為模板初步應用到實際工作場景中。
(5)輔以Markdown的使用介紹,便于讀者記錄和分享知識。
王詩翔,本科畢業(yè)于電子科技大學,獲工學學士學位,優(yōu)秀畢業(yè)論文獲得者。目前在上海科技大學深造,攻讀博士學位。主要工作是利用公開發(fā)表的數據集和數據庫研究和分析癌癥基因組學數據,挖掘有臨床應用價值的生物標志物。
第 1章 Python介紹及學習前的準備 1
1.1 Python是什么 1
1.2 為什么要使用Python進行數據分析 2
1.3 科學計算核心庫簡介 2
1.4 搭建環(huán)境 3
1.4.1 線上平臺 3
1.4.2 本地機器環(huán)境下相關軟件的安裝 4
1.5 章末小結 12
第 2章 Python入門示例及基礎知識 13
2.1 Python解釋器與IPython 13
2.1.1 標準Python解釋器 13
2.1.2 IPython 14
2.2 Python入門示例 15
2.3 nteract軟件使用簡介 16
2.4 算術運算 17
2.4.1 簡單數學運算 17
2.4.2 代碼約定 18
2.4.3 計算身體質量指數 19
2.5 變量簡介 20
2.5.1 什么是變量 20
2.5.2 變量的命名 21
2.6 基本數據類型 22
2.6.1 數字 22
2.6.2 字符串 23
2.6.3 布爾值 24
2.6.4 查看數據類型 24
2.7 數據運算 25
2.7.1 加號與黑箱子 25
2.7.2 類型轉換 26
2.7.3 運算符匯總 26
2.8 章末小結 27
第3章 基本數據結構 28
3.1 列表 28
3.1.1 列表的創(chuàng)建 28
3.1.2 修改列表元素 30
3.1.3 遍歷列表 30
3.1.4 列表操作符 31
3.1.5 列表切片 32
3.1.6 列表方法、函數與操作 33
3.1.7 列表與字符串 37
3.1.8 列表對象與值 38
3.2 元組 39
3.2.1 元組的創(chuàng)建 40
3.2.2 元組操作 40
3.2.3 元組與列表的區(qū)別 42
3.3 字典 42
3.3.1 字典的創(chuàng)建與使用 42
3.3.2 字典操作 43
3.4 集合 45
3.4.1 集合的創(chuàng)建 45
3.4.2 集合操作 45
3.4.3 冰凍集 46
3.5 章末小結 47
第4章 控制流與文件操作 48
4.1 條件結構if-else 48
4.1.1 簡單if-else結構 49
4.1.2 嵌套條件結構 50
4.1.3 單行if-else 51
4.1.4 使用邏輯操作符 51
4.2 for語句 52
4.2.1 for語句塊 53
4.2.2 else語句塊 53
4.2.3 索引迭代 54
4.2.4 多列表迭代 55
4.2.5 列表推導式 55
4.2.6 條件列表推導式 57
4.2.7 字典迭代 58
4.3 while語句 59
4.4 continue、break與pass 61
4.4.1 continue 61
4.4.2 break 62
4.4.3 pass 64
4.5 文件操作 64
4.5.1 文件類型 65
4.5.2 使用open()函數讀取文件 65
4.5.3 使用open()寫文件 68
4.6 章末小結 68
第5章 函數與模塊 69
5.1 函數 69
5.1.1 為什么使用函數 69
5.1.2 函數的調用 70
5.1.3 函數的創(chuàng)建 71
5.1.4 函數作用域 72
5.1.5 遞歸函數 73
5.2 函數的參數 76
5.2.1 位置參數 76
5.2.2 關鍵字參數 77
5.2.3 可變參數 79
5.3 模塊 80
5.3.1 模塊與包結構 80
5.3.2 模塊的創(chuàng)建 81
5.3.3 模塊的作用域 83
5.3.4 三方模塊的安裝 83
5.3.5 模塊的使用 85
5.4 章末小結 87
第6章 NumPy 88
6.1 NumPy簡介與ndarray 88
6.1.1 NumPy簡介 88
6.1.2 創(chuàng)建ndarray 89
6.2 數組操作 92
6.2.1 數組運算 92
6.2.2 索引與切片 95
6.2.3 布爾型索引 99
6.2.4 數組轉置與軸轉換 101
6.3 數組函數與方法 103
6.3.1 通用函數 103
6.3.2 基本統計 105
6.3.3 排序與集合操作 107
6.3.4 線性代數操作 108
6.3.5 偽隨機數的生成 109
6.3.6 數組文件的輸入與導出 111
6.4 章末小結 112
第7章 Matplotlib 113
7.1 Matplotlib入門 113
7.1.1 Matplotlib庫簡介 113
7.1.2 命名約定 114
7.1.3 如何展示圖形 114
7.1.4 保存圖形 116
7.1.5 兩種繪圖接口 117
7.2 基本圖形繪制 119
7.2.1 線圖 119
7.2.2 散點圖 132
7.2.3 條形圖 137
7.2.4 直方圖 142
7.2.5 餅圖 146
7.2.6 箱線圖 148
7.3 多圖與自定義 150
7.3.1 多圖 150
7.3.2 設置風格 154
7.3.3 兩種接口映射 156
7.4 章末小結 157
第8章 Pandas入門 158
8.1 Pandas簡介 158
8.2 Pandas的數據結構 159
8.2.1 Series 159
8.2.2 DataFrame 161
8.3 Pandas對象基本操作 163
8.3.1 查看數據 164
8.3.2 轉置 165
8.3.3 重索引 165
8.3.4 刪除數據 168
8.3.5 重賦值 169
8.3.6 索引與過濾 169
8.3.7 算術運算 174
8.3.8 函數應用 176
8.3.9 排序 177
8.4 基本統計分析 179
8.5 章末小結 180
第9章 Markdown基礎 181
9.1 Markdown簡介 181
9.2 Markdown語法 182
9.2.1 塊元素 182
9.2.2 內聯元素 188
9.3 聯合Python與Markdown 191
9.3.1 代碼塊與文本塊 191
9.3.2 文檔范例 192
9.4 章末小結 195
第 10章 數據導入 196
10.1 CSV文件 196
10.1.1 使用字符串方法 197
10.1.2 使用csv標準模塊 197
10.1.3 使用Pandas庫 198
10.2 CSV變體 198
10.2.1 創(chuàng)建CSV導入函數 199
10.2.2 使用Pandas導入 200
10.2.3 導出CSV 202
10.3 Excel文件 203
10.3.1 檢查數據 203
10.3.2 準備工作 204
10.3.3 使用Pandas讀寫Excel 205
10.4 pickle文件 207
10.5 SAS與Stata文件 208
10.6 HDF5文件 209
10.7 MATLAB文件 210
10.8 json文件 211
10.9 YAML文件 213
10.10 網頁數據 215
10.11 數據庫數據 218
10.12 章末小結 220
第 11章 數據分析工具箱 221
11.1 輔助函數與工具 221
11.1.1 序列解包 221
11.1.2 斷言 222
11.1.3 常用的字符串方法 223
11.2 作用域與求值計算 223
11.2.1 作用域 223
11.2.2 使用exec()和eval()執(zhí)行計算 224
11.3 異常的捕獲和處理 225
11.3.1 捕獲異常 225
11.3.2 產生異!227
11.4 函數式編程 227
11.4.1 高階函數 227
11.4.2 常用的高階函數 228
11.4.3 itertools模塊 229
11.5 生成器與裝飾器 230
11.5.1 生成器 230
11.5.2 利用生成器讀入大型數據集 232
11.5.3 裝飾器 232
11.6 正則表達式 233
11.7 章末小結 236
第 12章 Pandas進階 237
12.1 深入Pandas數據結構 237
12.1.1 回顧 237
12.1.2 分類變量 239
12.1.3 時間序列 243
12.2 迭代與函數應用 247
12.2.1 迭代 247
12.2.2 函數應用 250
12.2.3 字符串函數 253
12.2.4 分組計算 256
12.3 數據清洗 256
12.3.1 缺失值處理 257
12.3.2 連接 259
12.3.3 級聯 262
12.4 Pandas可視化 265
12.4.1 條形圖 266
12.4.2 直方圖 268
12.4.3 箱線圖 269
12.4.4 面積圖 270
12.4.5 散點圖 271
12.4.6 餅圖 271
12.5 章末小結 272
第 13章 數據可視化進階 273
13.1 Seaborn 273
13.1.1 成對圖 274
13.1.2 子集圖 279
13.1.3 回歸圖 280
13.1.4 核密度圖 281
13.1.5 條形圖 282
13.1.6 計數圖 284
13.1.7 點圖 284
13.1.8 箱線圖 285
13.1.9 小提琴圖 286
13.1.10 雙變量分布圖 286
13.2 Plotnine 288
13.2.1 ggplot 術語 290
13.2.2 ggplot 初探 290
13.2.3 常見的幾何函數和選項 298
13.3 Bokeh 299
13.3.1 Bokeh 基礎 299
13.3.2 圖形排列 303
13.4 章末小結 305
第 14章 統計分析 306
14.1 概括性度量 306
14.1.1 集中趨勢的度量 307
14.1.2 離散程度的度量 308
14.1.3 偏態(tài)與峰態(tài)的度量 309
14.2 統計分布 311
14.2.1 正態(tài)分布 311
14.2.2 二項分布 312
14.2.3 伯努利分布 314
14.2.4 指數分布 314
14.2.5 泊松分布 315
14.3 假設檢驗 316
14.3.1 u 與 t 統計量 316
14.3.2 一個 t 檢驗實例 317
14.3.3 兩樣本 t 檢驗 317
14.4 章末小結 318
第 15章 未言及的內容 319
15.1 魔術命令 319
15.2 面向對象編程 321
15.3 章末小結 323
結語:接下來學什么 324