Pandas實戰 The Pandas Workshop: A comprehensive guide to using Python for data analysis with real-world case studies
[美]布萊恩·貝特曼 等著 熊愛華 譯
- 出版商: 清華大學
- 出版日期: 2024-06-01
- 售價: $1,074
- 貴賓價: 9.5 折 $1,020
- 語言: 簡體中文
- 裝訂: 平裝
- ISBN: 730266353X
- ISBN-13: 9787302663539
- 此書翻譯自: The Pandas Workshop: A comprehensive guide to using Python for data analysis with real-world case studies
立即出貨 (庫存 < 3)
相關主題
商品描述
《Pandas實戰》詳細闡述了與Pandas數據分析相關的基本知識,主要包括數據結構、數據的輸入和輸出、Pandas數據類型、數據選擇、數據探索和轉換、理解數據可視化、數據建模、在Pandas中使用時間、探索時間序列、Pandas數據處理案例研究等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。
目錄大綱
目 錄
第1篇 Pandas基礎知識
第1章 初識Pandas 3
1.1 Pandas世界介紹 3
1.2 探索Pandas的歷史和演變 4
1.3 Pandas的組件和應用 4
1.4 瞭解Pandas的基本概念 5
1.4.1 Series對象 7
1.4.2 DataFrame對象 8
1.4.3 使用本地文件 11
1.4.4 讀取CSV文件 12
1.4.5 顯示數據快照 12
1.4.6 將數據寫入文件中 13
1.4.7 練習1.1—使用Pandas讀取和寫入數據 13
1.4.8 Pandas中的數據類型 15
1.4.9 數據選擇 18
1.4.10 數據轉換 20
1.4.11 數據可視化 20
1.4.12 時間序列數據 22
1.4.13 代碼優化 24
1.4.14 實用工具函數 25
1.4.15 練習1.2—使用Pandas進行基本數值運算 29
1.4.16 數據建模 36
1.4.17 練習1.3—比較兩個DataFrame的數據 37
1.5 作業1.1—比較兩家商店的銷售數據 44
1.6 小結 45
第2章 數據結構 47
2.1 數據結構簡介 47
2.2 對數據結構的需求 48
2.2.1 數據結構 49
2.2.2 在Pandas中創建DataFrame 50
2.2.3 練習2.1—創建DataFrame 56
2.3 瞭解索引和列 58
2.3.1 練習2.2—讀取DataFrame並進行索引操作 65
2.3.2 使用列 69
2.4 使用Pandas Series 71
2.4.1 Series索引 72
2.4.2 練習2.3—從Series到DataFrame 76
2.4.3 使用時間作為索引 80
2.4.4 練習2.4—DataFrame索引 83
2.5 作業2.1—使用Pandas數據結構 86
2.6 小結 87
第3章 數據的輸入和輸出 89
3.1 數據世界 89
3.2 探索數據源 93
3.2.1 文本文件和二進制文件 93
3.2.2 在線數據源 95
3.2.3 練習3.1—從網頁中讀取數據 97
3.3 基本格式 99
3.3.1 文本數據 99
3.3.2 練習3.2—文本字符編碼和數據分隔符 109
3.3.3 二進制數據 111
3.3.4 數據庫—SQL數據 112
3.3.5 sqlite3 113
3.4 其他文本格式 114
3.4.1 使用JSON 115
3.4.2 使用HTML/XML 118
3.4.3 使用XML數據 120
3.4.4 使用Excel 122
3.4.5 SAS數據 125
3.4.6 SPSS數據 126
3.4.7 Stata數據 127
3.4.8 HDF5數據 128
3.5 操作SQL數據 129
3.5.1 使用Pandas操作數據庫 129
3.5.2 練習3.3—使用SQL 134
3.5.3 為項目選擇格式 138
3.6 作業3.1—使用SQL數據進行Pandas分析 139
3.7 小結 140
第4章 Pandas數據類型 141
4.1 Pandas dtypes簡介 141
4.1.1 瞭解基礎數據類型 141
4.1.2 從一種類型轉換為另一種類型 145
4.1.3 練習4.1—基礎數據類型和轉換 149
4.2 缺失數據類型 156
4.2.1 缺失值的表示 156
4.2.2 可為空類型 157
4.2.3 練習4.2—將缺失數據轉換為不可為空的數據類型 159
4.3 作業4.1—通過轉換為適當的數據類型來優化內存使用 163
4.4 按數據類型創建子集 164
4.4.1 字符串方法 164
4.4.2 使用category類型 167
4.4.3 使用dtype = datetime64[ns] 169
4.4.4 使用dtype = timedelta64[ns] 174
4.4.5 練習4.3—使用字符串方法處理文本數據 175
4.4.6 按數據的dtype在DataFrame中選擇數據 178
4.5 小結 181
第2篇 處 理 數 據
第5章 數據選擇—DataFrame 185
5.1 DataFrame簡介 185
5.1.1 Pandas DataFrame操作的關聯性 185
5.1.2 對數據選擇方法的需求 186
5.2 Pandas DataFrame中的數據選擇 187
5.2.1 索引及其形式 189
5.2.2 練習5.1—識別數據集中的行和列索引 191
5.2.3 保存索引或列 193
5.2.4 切片和索引方法 194
5.2.5 布爾索引 203
5.2.6 練習5.2—創建行和列的子集 204
5.2.7 使用標簽作為索引和Pandas多級索引 206
5.2.8 從列中創建多級索引 211
5.3 作業5.1—從列中創建多級索引 214
5.4 括號和點表示法 216
5.4.1 括號表示法 216
5.4.2 點表示法 216
5.4.3 選擇整列 217
5.4.4 選擇一個行範圍 219
5.4.5 練習5.3—整數行號與標簽 220
5.4.6 使用擴展索引 223
5.4.7 類型異常 226
5.5 使用括號或點表示法更改DataFrame值 228
5.5.1 使用括號表示法輕松修改數據 228
5.5.2 鏈式操作可能產生的問題及其解決方案 229
5.5.3 練習5.4—使用括號和點表示法選擇數據 232
5.6 小結 236
第6章 數據選擇—Series 237
6.1 Pandas Series介紹 237
6.2 Series索引 237
6.2.1 Pandas Series中的數據選擇 239
6.2.2 括號表示法、點表示法、Series.loc和Series.iloc 239
6.2.3 練習6.1—基本Series數據選擇 243
6.3 從DataFrame中創建Series或從Series中獲取DataFrame 246
6.3.1 從DataFrame中創建Series 246
6.3.2 從Series中獲取DataFrame 248
6.3.3 練習6.2—使用Series索引選擇值 251
6.4 作業6.1—Series數據選擇 255
6.5 瞭解基礎Python和Pandas數據選擇之間的差異 256
6.5.1 列表與Series訪問 256
6.5.2 DataFrame與字典訪問 257
6.6 作業6.2—DataFrame數據選擇 259
6.7 小結 261
第7章 數據探索和轉換 263
7.1 數據轉換簡介 263
7.2 處理混亂的數據 263
7.2.1 處理沒有列標題的數據 264
7.2.2 一列中的多個值 269
7.2.3 行和列中的重復觀察值 274
7.2.4 練習7.1—處理格式混亂的地址 276
7.2.5 多個變量被存儲在一列中 280
7.2.6 具有相同結構的多個DataFrame 284
7.2.7 練習7.2—按人口統計信息存儲銷售數據 287
7.3 處理缺失數據 293
7.3.1 關於缺失數據 293
7.3.2 缺失數據的處理策略 294
7.3.3 應用刪除策略 294
7.3.4 應用插補策略 296
7.4 匯總數據 299
7.4.1 分組和聚合 299
7.4.2 探索數據透視表 304
7.5 作業7.1—使用數據透視表進行數據分析 308
7.6 小結 310
第8章 理解數據可視化 311
8.1 數據可視化簡介 311
8.2 瞭解Pandas可視化的基礎知識 312
8.2.1 使用plot()函數繪圖 312
8.2.2 練習8.1—為泰坦尼克號數據集構建直方圖 321
8.3 探索Matplotlib 324
8.4 可視化不同類型的數據 330
8.4.1 可視化數值數據 331
8.4.2 可視化分類數據 337
8.4.3 可視化統計數據 342
8.4.4 練習8.2—泰坦尼克號數據集的箱線圖 344
8.4.5 可視化多個數據圖 348
8.5 作業8.1—使用數據可視化進行探索性數據分析 350
8.6 小結 351
第3篇 數 據 建 模
第9章 數據建模—預處理 355
9.1 數據建模簡介 355
9.2 探索因變量和自變量 356
9.2.1 拆分訓練集、驗證集和測試集 366
9.2.2 練習9.1—創建訓練、驗證和測試數據 374
9.2.3 避免信息泄露 379
9.2.4 完整的模型驗證 380
9.3 瞭解數據縮放和歸一化 381
9.3.1 縮放數據的不同方法 381
9.3.2 自己縮放數據 382
9.3.3 最小值/最大值縮放 383
9.3.4 最小值/最大值縮放用例—神經網絡 384
9.3.5 標準化—解決差異問題 386
9.3.6 轉換回真實單位 390
9.3.7 練習9.2—縮放和歸一化數據 390
9.4 作業9.1—數據拆分、縮放和建模 396
9.5 小結 397
第10章 數據建模—有關建模的基礎知識 399
10.1 數據建模簡介 399
10.2 瞭解建模基礎知識 400
10.2.1 建模工具 400
10.2.2 Pandas建模工具 400
10.2.3 其他重要的Pandas方法 410
10.2.4 窗口函數 411
10.2.5 窗口方法 414
10.2.6 平滑數據 417
10.3 預測時間序列的未來值 427
10.3.1 以原始日期為中心的平滑窗口 427
10.3.2 使用加權窗口平滑數據 430
10.3.3 練習10.1—平滑數據以發現模式 432
10.4 作業10.1—歸一化和平滑數據 436
10.5 小結 437
第11章 數據建模—回歸建模 439
11.1 回歸建模簡介 439
11.2 探索回歸建模 440
11.2.1 使用線性模型 446
11.2.2 練習11.1—線性回歸 450
11.2.3 非線性模型 455
11.3 模型診斷 455
11.3.1 比較預測值和實際值 455
11.3.2 使用Q-Q圖 457
11.3.3 練習11.2—多元回歸和非線性模型 462
11.4 作業11.1—實現多元回歸 472
11.5 小結 483
第4篇 其他Pandas用例
第12章 在Pandas中使用時間 487
12.1 時間序列簡介 487
12.2 Pandas datetime 488
12.2.1 datetime對象的屬性 489
12.2.2 練習12.1—使用datetime 491
12.2.3 創建和操作日期時間對象/時間序列 497
12.2.4 Pandas中的時間周期 500
12.2.5 Pandas時間感知對象中的信息 501
12.2.6 練習12.2—日期時間的數學 503
12.2.7 時間戳格式 507
12.2.8 日期時間本地化 509
12.2.9 時間戳限制 509
12.3 作業12.1—瞭解電力使用情況 510
12.4 日期時間數學運算 514
12.4.1 日期範圍 514
12.4.2 時間差值、偏移量和差異 516
12.4.3 日期偏移 518
12.4.4 練習12.3—時間差值和日期偏移 521
12.5 小結 525
第13章 探索時間序列 527
13.1 使用時間序列作為索引 527
13.1.1 時間序列周期/頻率 527
13.1.2 移動、滯後和轉換頻率 529
13.2 按時間重採樣、分組和聚合 530
13.2.1 使用重採樣方法 531
13.2.2 練習13.1—聚合和重採樣 535
13.2.3 使用滾動方法的窗口操作 539
13.3 作業13.1—創建時間序列模型 545
13.4 小結 550
第14章 Pandas數據處理案例研究 551
14.1 案例研究和數據集簡介 551
14.2 預處理步驟回顧 552
14.2.1 預處理德國氣象數據 555
14.2.2 練習14.1—預處理德國氣象數據 556
14.2.3 練習14.2—合並DataFrame和重命名變量 560
14.2.4 練習14.3—插補數據並回答問題 563
14.2.5 練習14.4—使用數據可視化來回答問題 566
14.2.6 練習14.5—使用數據可視化來回答問題 573
14.2.7 練習14.6—分析公交車軌跡數據 576
14.3 作業14.1—分析空氣質量數據 584
14.4 小結 585
附錄A 作業答案 587
作業1.1答案 587
作業2.1答案 590
作業3.1答案 592
作業4.1答案 594
作業5.1答案 599
作業6.1答案 601
作業6.2答案 604
作業7.1答案 607
作業8.1答案 610
作業9.1答案 616
作業10.1答案 619
作業11.1答案 626
作業12.1答案 641
作業13.1答案 648
作業14.1答案 654
·XVI·
Pandas實戰
·XVII·
目 錄