Pandas 入門與實戰應用 :基於 Python 的數據分析與處理

周峰,周俊慶

  • 出版商: 電子工業
  • 出版日期: 2022-08-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 388
  • ISBN: 7121440709
  • ISBN-13: 9787121440700
  • 相關分類: Data Science
  • 立即出貨

買這商品的人也買了...

商品描述

本書首先講解Pandas快速入門的基礎知識,如Pandas的定義、可處理的數據類型、優勢、開發環境配置、常用的數據結構等;然後通過實例剖析講解Pandas數據的導入、導出、查看、清洗、合並、對比、預處理;接著講解Pandas數據的提取、篩選、匯總、統計及可視化;然後講解Pandas數據的線性模型和廣義線性模型,最後講解Pandas數據實戰分析。在講解過程中即考慮讀者的學習習慣,又通過具體實例剖析講解Pandas實戰應用中的熱點問題、關鍵問題及種種難題。

目錄大綱

第1章Pandas快速入門 1
1.1 初識Pandas 2
1.1.1 什麼是Pandas 2
1.1.2 Pandas的主要數據結構 2
1.1.3 Pandas的優勢 2
1.2 Pandas開發環境配置 3
1.2.1 Python概述 3
1.2.2 Anaconda概述 5
1.2.3 Anaconda的下載 5
1.2.4 Anaconda的安裝 8
1.2.5 Jupyter Notebook概述 11
1.3 Jupyter Notebook界面的基本操作 13
1.3.1 Jupyter Notebook的主界面 13
1.3.2 Jupyter Notebook的編輯頁面 14
1.3.3 Jupyter Notebook的文件操作 18
1.4 實例:第一個Pandas數據處理程序 20

第2章Pandas常用的數據結構 22
2.1 初識數據結構 23
2.1.1 什麼是數據及數據處理 23
2.1.2 什麼是信息 23
2.1.3 什麼是數據結構 24
2.2 Python的數據結構 24
2.2.1 數值型應用實例 24
2.2.2 字符串型應用實例 27
2.2.3 列表應用實例 30
2.2.4 元組應用實例 34
2.2.5 字典應用實例 36
2.2.6 集合應用實例 38
2.3 NumPy的數據結構 40
2.3.1 NumPy數組的創建 41
2.3.2 NumPy特殊數組 42
2.3.3 NumPy序列數組 43
2.3.4 NumPy數組運算 44
2.3.5 NumPy的矩陣 45
2.3.6 兩個數組的點積 46
2.3.7 兩個向量的點積 47
2.3.8 數組的向量內積 48
2.3.9 矩陣的行列式 49
2.3.10 矩陣的逆 50
2.4 Pandas的數據結構 51
2.4.1 一維數組系列應用實例 52
2.4.2 二維數組應用實例 53

第3章Pandas數據的導入與導出 55
3.1 導入CSV文件 56
3.1.1 CSV文件概述 56
3.1.2 創建CSV文件,並輸入內容 56
3.1.3 read_csv()方法 58
3.1.4 利用read_csv()方法導入CSV文件實例 60
3.2 導入Excel文件 63
3.2.1 在Excel中輸入內容並上傳 63
3.2.2 read_excel()方法 65
3.2.3 利用read_excel()方法導入Excel文件實例 66
3.3 導入JSON文件 68
3.3.1 創建JSON文件,並輸入內容 68
3.3.2 read_json()方法 69
3.3.3 利用read_json()方法導入JSON文件實例 70
3.4 Pandas數據的輸出 70
3.4.1 輸出CSV文件 71
3.4.2 輸出Excel文件 73
3.4.3 輸出JSON文件 76

第4章Pandas數據表的查看和清洗 79
4.1 Pandas數據表信息的查看 80
4.1.1 利用shape屬性查看數據表的維度 80
4.1.2 利用dtype和dtypes屬性查看列數據的類型 82
4.1.3 利用columns和values屬性查看表頭和數據表數據信息 84
4.1.4 利用isnull()方法查看空值信息 85
4.1.5 利用unique()方法查看列中的無重複數據信息 87
4.1.6 利用info()方法查看數據表的基本信息 88
4.1.7 利用head()方法查看數據表前幾行數據 89
4.1.8 利用tail()方法查看數據表後幾行數據 91
4.2 Pandas數據表的清洗 92
4.2.1 空值的清洗 92
4.2.2 格式錯誤數據的清洗 97
4.2.3 錯誤數據的清洗 98
4.2.4 重複數據的清洗 101
4.2.5 數據表列名的清洗 103
4.2.6 數據內容的清洗 105

第5章Pandas數據的合併與對比 108
5.1 利用append()方法追加數據 109
5.1.1 append()方法及參數 109
5.1.2 利用append()方法實現相同結構數據表的數據追加 109
5.1.3 利用append()方法實現不同結構數據表的數據追加 111
5.1.4 利用append()方法實現忽略索引的數據追加 113
5.1.5 追加Series序列 115
5.1.6 追加字典列表 117
5.2 利用concat()方法合併數據 118
5.2.1 concat()方法及參數 118
5.2.2 利用concat()方法縱向合併數據 119
5.2.3 利用concat()方法橫向合併數據 120
5.2.4 合併數據的交集 122
5.3 利用merge()方法合併數據 125
5.3.1 merge()方法及參數 125
5.3.2 利用merge()方法合併數據實例 126
5.4 利用compare()方法對比數據 130
5.4.1 compare()方法及參數 130
5.4.2 利用compare()方法對比數據實例 131

第6章Pandas數據的預處理 135
6.1 設置索引列 135
6.1.1 Pandas索引的作用 136
6.1.2 set_index()方法及參數 136
6.1.3 利用set_index()方法設置索引列實例 137
6.1.4 利用reset_index()方法還原索引列實例 139
6.2 排序 141
6.2.1 按索引列排序 141
6.2.2 按指定列排序 144
6.3 分組標記 146
6.3.1 利用where()方法添加分組標記 146
6.3.2 根據多個條件進行分組標記 148
6.4 列的拆分 151

第7章Pandas數據的提取 155
7.1 利用loc[ ]提取數據 155
7.1.1 利用loc[ ]提取整行數據 156
7.1.2 利用loc[ ]提取整列數據 158
7.1.3 利用loc[ ]提取具體數據 161
7.2 利用iloc[ ]提取數據 164
7.2.1 利用iloc[ ]提取整行數據 165
7.2.2 利用iloc[ ]提取整列數據 167
7.2.3 利用iloc[ ]提取具體數據 168
7.3 利用屬性提取數據 170
7.4 利用For循環提取數據 172

第8章Pandas數據的篩選 175
8.1 Pandas數據關係篩選 176
8.1.1 等於關係數據篩選實例 176
8.1.2 不等於關係數據篩選實例 178
8.1.3 大於和大於等於關係數據篩選實例 180
8.1.4 小於和小於等於關係數據篩選實例 182
8.2 Pandas數據邏輯篩選 183
8.2.1 使用“與”進行數據篩選實例 183
8.2.2 使用“或”進行數據篩選實例 185
8.2.3 使用“非”進行數據篩選實例 186
8.3 使用query()方法進行數據篩選實例 188
8.4 使用filter()方法進行數據篩選 192
8.4.1 filter()方法及意義 193
8.4.2 使用filter()方法進行數據篩選實例 193

第9章Pandas數據的聚合函數 197
9.1 sum()函數的應用 197
9.1.1 sum()函數及參數 198
9.1.2 sum()函數應用實例 198
9.2 mean()函數的應用 202
9.2.1 mean()函數及參數 203
9.2.2 mean()函數應用實例 203
9.3 max()函數的應用 207
9.3.1 max()函數及參數 207
9.3.2 max()函數應用實例 207
9.4 min()函數的應用 210
9.4.1 min()函數及參數 210
9.4.2 min()函數應用實例 211
9.5 count()函數的應用 213
9.5.1 count()函數及參數 214
9.5.2 count()函數應用實例 214

第10章Pandas數據的分組與透視 217
10.1 Pandas數據的分組 218
10.1.1 groupby()方法及參數 218
10.1.2 groupby()方法的應用 218
10.1.3 agg()方法的應用 223
10.1.4 transform()方法的應用 226
10.2 Pandas數據的透視 230
10.2.1 pivot_table()方法及參數 230
10.2.2 利用pivot_table()方法透視數據實例 231
10.2.3 crosstab()方法及參數 235
10.2.4 利用crosstab()方法透視數據實例 236

第11章Pandas數據的統計 243
11.1 數據採樣 243
11.1.1 sample()方法及參數 244
11.1.2 利用sample()方法進行數據採樣實例 244
11.2 數據統計 249
11.2.1 數據表描述性統計 249
11.2.2 利用describe()方法進行數據表描述性統計實例 250
11.2.3 中位數的應用 255
11.2.4 方差的應用 260
11.2.5 標準差的應用 263
11.3 數據相關性分析 267
11.3.1 協方差的應用 267
11.3.2 協方差相關係數的應用 270

第12章Pandas數據的可視化 275
12.1 利用Pandas中的plot()方法繪圖 276
12.1.1 plot()方法及參數 276
12.1.2 繪製折線圖實例 277
12.1.3 繪製條形圖實例 279
12.1.4 利用plot()方法繪製其他類型圖形實例 283
12.2 利用Matplotlib包繪製Pandas數據圖形 287
12.2.1 figure()方法的應用實例 288
12.2.2 plot()方法的應用實例 290
12.2.3 subplot()方法的應用實例 294
12.2.4 add_axes()方法的應用實例 296
12.2.5 legend()方法的應用實例 298
12.2.6 設置線條的寬度和顏色實例 300
12.2.7 添加坐標軸網格線實例 302

第13章Pandas數據的機器學習算法 303
13.1 機器學習概述 304
13.1.1 什麼是機器學習 304
13.1.2 機器學習的類型 304
13.2 常見的機器學習算法 305
13.3 機器學習的sklearn包 307
13.3.1 sklearn包中的數據集 308
13.3.2 iris數據集 308
13.3.3 查看iris數據集實例 309
13.4 決策樹 314
13.4.1 決策樹的組成 315
13.4.2 決策樹的優點 315
13.4.3 決策樹的缺點 316
13.4.4 決策樹實現實例 316
13.5 隨機森林 318
13.5.1 隨機森林的構建 318
13.5.2 隨機森林的優缺點 318
13.5.3 隨機森林的應用範圍 319
13.5.4 隨機森林實現實例 319
13.6 支持向量機 321
13.6.1 支持向量機的工作原理 321
13.6.2 核函數 322
13.6.3 支持向量機的優點 324
13.6.4 支持向量機的缺點 324
13.6.5 支持向量機實現實例 325
13.7 樸素貝葉斯算法 328
13.7.1 樸素貝葉斯算法的思想 329
13.7.2 樸素貝葉斯算法的步驟 329
13.7.3 樸素貝葉斯算法的優缺點 330
13.7.4 高斯樸素貝葉斯模型實現實例 330
13.7.5 多項式分佈樸素貝葉斯模型實現實例 333
13.7.6 伯努力樸素貝葉斯模型實現實例 336

第14章Pandas的時間序列數據 338
14.1 Pandas時間序列的創建 339
14.1.1 date_range()方法及參數 339
14.1.2 利用date_range()方法創建時間序列實例 340
14.1.3 時間戳對象 341
14.2 時間類型與字符串類型的轉換 343
14.3 時間序列數據的操作技巧 345
14.3.1 時間序列數據的提取 345
14.3.2 時間序列數據的篩選 349
14.3.3 時間序列數據的重採樣 352
14.3.4 時間序列數據的滑動窗口 355
14.4 時間序列數據的預測 359
14.4.1 時間序列數據的準備 359
14.4.2 時間序列數據的樸素預測法 362
14.4.3 時間序列數據的簡單平均預測法 363
14.4.4 時間序列數據的移動平均預測法 365
14.4.5 時間序列數據的簡單指數平滑預測法 367
14.4.6 時間序列數據的霍爾特線性趨勢預測法 369
14.4.7 時間序列數據的Holt-Winters季節性預測法 371
14.4.8 時間序列數據的自回歸移動平均預測法 373