Pandas數據分析 Hands-On Data Analysis with Pandas : A Python data science handbook for data collection, wrangling, analysis, and visualization, 2/e

Molin, Stefanie 李強 譯

  • Pandas數據分析-preview-1
  • Pandas數據分析-preview-2
  • Pandas數據分析-preview-3
Pandas數據分析-preview-1

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

商品描述

《Pandas數據分析》詳細闡述了與Pandas數據分析相關的基本解決方案,主要包括數據分析導論、使用Pandas DataFrame、使用Pandas進行數據整理、聚合Pandas DataFrame、使用Pandas和Matplotlib可視化數據、使用Seaborn和自定義技術繪圖、金融分析、基於規則的異常檢測、Python機器學習入門、做出更好的預測、機器學習異常檢測等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。

目錄大綱

目    錄

第1篇  Pandas入門

第1章  數據分析導論 3

1.1  章節材料 3

1.2  數據分析基礎知識 5

1.2.1  數據收集 6

1.2.2  數據整理 7

1.2.3  探索性數據分析 8

1.2.4  得出結論 9

1.3  統計基礎知識 10

1.3.1  採樣 11

1.3.2  描述性統計 12

1.3.3  集中趨勢的度量 12

1.3.4  均值 12

1.3.5  中位數 13

1.3.6  眾數 13

1.3.7  數據散佈的度量 14

1.3.8  全距 14

1.3.9  方差 15

1.3.10  標準差 15

1.3.11  變異系數 16

1.3.12  四分位距 17

1.3.13  四分位離散系數 17

1.3.14  匯總數據 18

1.3.15  常見分佈 22

1.3.16  縮放數據 24

1.3.17  量化變量之間的關系 25

1.3.18  匯總統計的陷阱 27

1.3.19  預測 28

1.3.20  推論統計 32

1.4  設置虛擬環境 35

1.4.1  虛擬環境 35

1.4.2  使用venv 36

1.4.3  Windows中的操作 37

1.4.4  Linux/macOS中的操作 37

1.4.5  使用conda 38

1.4.6  安裝所需的Python包 40

1.4.7  關於Pandas 40

1.4.8  Jupyter Notebook 41

1.4.9  啟動JupyterLab 41

1.4.10  驗證虛擬環境 43

1.4.11  關閉JupyterLab 45

1.5  小結 45

1.6  練習 46

1.7  延伸閱讀 47

第2章  使用Pandas DataFrame 49

2.1  章節材料 49

2.2  Pandas數據結構 50

2.2.1  Series 55

2.2.2  Index 56

2.2.3  DataFrame 57

2.3  創建Pandas DataFrame 60

2.3.1  從Python對象中創建DataFrame 61

2.3.2  從文件中創建DataFrame 65

2.3.3  從數據庫中創建DataFrame 69

2.3.4  從API中獲取數據以創建DataFrame 71

2.4  檢查DataFrame對象 74

2.4.1  檢查數據 74

2.4.2  描述數據 77

2.5  抓取數據的子集 80

2.5.1  選擇列 81

2.5.2  切片 84

2.5.3  索引 86

2.5.4  過濾 88

2.6  添加和刪除數據 95

2.6.1  創建新數據 96

2.6.2  刪除不需要的數據 104

2.7  小結 106

2.8  練習 107

2.9  延伸閱讀 107

第2篇  使用Pandas進行數據分析

第3章  使用Pandas進行數據整理 111

3.1  章節材料 112

3.2  關於數據整理 113

3.2.1  數據清洗 114

3.2.2  數據轉換 114

3.2.3  寬數據格式 116

3.2.4  長數據格式 118

3.2.5  數據充實 121

3.3  探索API以查找和收集溫度數據 122

3.4  清洗數據 132

3.4.1  重命名列 133

3.4.2  類型轉換 134

3.4.3  按值排序 140

3.4.4  索引排序 143

3.4.5  設置索引 144

3.4.6  重置索引 145

3.4.7  重新索引 146

3.5  重塑數據 153

3.5.1  轉置DataFrame 155

3.5.2  旋轉DataFrame 155

3.5.3  融合DataFrame 161

3.6  處理重復、缺失或無效的數據 164

3.6.1  查找有問題的數據 164

3.6.2  處理潛在的問題 171

3.7  小結 180

3.8  練習 180

3.9  延伸閱讀 182

第4章  聚合Pandas DataFrame 183

4.1  章節材料 183

4.2  在DataFrame上執行數據庫風格的操作 185

4.2.1  查詢DataFrame 186

4.2.2  合並DataFrame 187

4.3  使用DataFrame操作充實數據 197

4.3.1  算術和統計 198

4.3.2  分箱 200

4.3.3  應用函數 205

4.3.4  窗口計算 207

4.3.5  滾動窗口 207

4.3.6  擴展窗口 210

4.3.7  指數加權移動窗口 211

4.3.8  管道 212

4.4  聚合數據 215

4.4.1  匯總DataFrame 217

4.4.2  按組聚合 218

4.4.3  數據透視表和交叉表 224

4.5  處理時間序列數據 227

4.5.1  基於日期選擇和過濾數據 228

4.5.2  基於時間選擇和過濾數據 230

4.5.3  移動滯後數據 234

4.5.4  差分數據 235

4.5.5  重採樣 236

4.5.6  合並時間序列 240

4.6  小結 242

4.7  練習 243

4.8  延伸閱讀 245

第5章  使用Pandas和Matplotlib可視化數據 247

5.1  章節材料 247

5.2  Matplotlib簡介 249

5.2.1  基礎知識 249

5.2.2  繪圖組件 255

5.2.3  其他選項 258

5.3  使用Pandas繪圖 260

5.3.1  隨時間演變 262

5.3.2  變量之間的關系 269

5.3.3  分佈 275

5.3.4  計數和頻率 283

5.4  pandas.plotting模塊 291

5.4.1  散點圖矩陣 291

5.4.2  滯後圖 294

5.4.3  自相關圖 296

5.4.4  自舉圖 297

5.5  小結 298

5.6  練習 299

5.7  延伸閱讀 299

第6章  使用Seaborn和自定義技術繪圖 301

6.1  章節材料 301

6.2  使用Seaborn進行高級繪圖 303

6.2.1  分類數據 304

6.2.2  相關性和熱圖 308

6.2.3  回歸圖 317

6.2.4  分面 321

6.3  使用Matplotlib格式化繪圖 323

6.3.1  標題和標簽 323

6.3.2  圖例 326

6.3.3  格式化軸 329

6.4  自定義可視化 336

6.4.1  添加參考線 336

6.4.2  區域著色 341

6.4.3  註解 344

6.4.4  顏色 346

6.4.5  顏色表 348

6.4.6  條件著色 355

6.4.7  紋理 357

6.5  小結 360

6.6  練習 360

6.7  延伸閱讀 361

第3篇  使用Pandas進行實際應用分析

第7章  金融分析 365

7.1  章節材料 366

7.2  構建Python包 367

7.2.1  封裝結構 368

7.2.2  stock_analysis包概述 369

7.2.3  UML圖 371

7.3  收集金融數據 372

7.3.1  StockReader類 373

7.3.2  從Yahoo!Finance中收集歷史數據 381

7.4  探索性數據分析 383

7.4.1  Visualizer類系列 388

7.4.2  可視化股票 394

7.4.3  可視化多個資產 407

7.5  金融工具的技術分析 413

7.5.1  StockAnalyzer類 414

7.5.2  AssetGroupAnalyzer類 421

7.5.3  比較資產 423

7.6  使用歷史數據建模 427

7.6.1  StockModeler類 427

7.6.2  時間序列分解 433

7.6.3  ARIMA 434

7.6.4  使用statsmodel進行線性回歸 436

7.6.5  比較模型 438

7.7  小結 440

7.8  練習 441

7.9  延伸閱讀 442

第8章  基於規則的異常檢測 445

8.1  章節材料 445

8.2  模擬登錄嘗試 446

8.2.1  假設 446

8.2.2  構建login_attempt_simulator包 447

8.2.3  輔助函數 448

8.2.4  構建LoginAttemptSimulator類 450

8.2.5  從命令行中進行模擬 461

8.3  探索性數據分析 467

8.3.1  讀入模擬數據 467

8.3.2  異常登錄行為的特點 468

8.3.3  檢查數據 469

8.3.4  比較登錄嘗試次數 470

8.3.5  比較登錄成功率 473

8.3.6  使用錯誤率指標 474

8.3.7  通過可視化找出異常值 476

8.4  實現基於規則的異常檢測 479

8.4.1  百分比差異 480

8.4.2  Tukey圍欄 485

8.4.3  Z分數 486

8.4.4  評估性能 488

8.5  小結 493

8.6  練習 493

8.7  延伸閱讀 494

第4篇  scikit-learn和機器學習

第9章  Python機器學習入門 499

9.1  章節材料 499

9.2  機器學習概述 501

9.2.1  機器學習的類型 502

9.2.2  常見任務 502

9.2.3  Python中的機器學習 503

9.3  探索性數據分析 504

9.3.1  紅酒品質數據 505

9.3.2  白葡萄酒和紅葡萄酒化學性質數據 508

9.3.3  行星和系外行星數據 511

9.4  預處理數據 517

9.4.1  訓練和測試集 518

9.4.2  縮放和居中數據 520

9.4.3  編碼數據 522

9.4.4  估算 525

9.4.5  附加轉換器 527

9.4.6  構建數據管道 529

9.5  聚類 531

9.5.1  k均值 532

9.5.2  按軌道特徵對行星進行分組 532

9.5.3  使用肘點法確定k值 535

9.5.4  解釋質心並可視化聚類空間 537

9.5.5  評估聚類結果 540

9.6  回歸 542

9.6.1  線性回歸 542

9.6.2  預測行星一年的長度 543

9.6.3  解釋線性回歸方程 544

9.6.4  做出預測 545

9.6.5  評估回歸結果 546

9.6.6  指標 548

9.7  分類 552

9.7.1  邏輯回歸 552

9.7.2  預測紅酒質量 553

9.7.3  通過化學性質確定葡萄酒類型 554

9.7.4  評估分類結果 555

9.7.5  混淆矩陣 555

9.7.6  分類指標 559

9.7.7  準確率和錯誤率 559

9.7.8  精確率和召回率 560

9.7.9  F分數 562

9.7.10  敏感性和特異性 563

9.7.11  ROC曲線 564

9.7.12  精確率-召回率曲線 568

9.8  小結 571

9.9  練習 572

9.10  延伸閱讀 574

第10章  做出更好的預測 577

10.1  章節材料 577

10.2  使用網格搜索調整超參數 580

10.2.1  拆分驗證集 580

10.2.2  使用交叉驗證 582

10.2.3  使用RepeatedStratifiedKFold 585

10.3  特徵工程 588

10.3.1  交互項和多項式特徵 589

10.3.2  降維 592

10.3.3  特徵聯合 601

10.3.4  特徵重要性 603

10.4  集成方法 606

10.4.1  隨機森林 608

10.4.2  梯度提升 609

10.4.3  投票 610

10.4.4  檢查分類預測置信度 612

10.5  解決類不平衡的問題 616

10.5.1  欠採樣 618

10.5.2  過採樣 619

10.6  正則化 621

10.7  小結 623

10.8  練習 624

10.9  延伸閱讀 626

第11章  機器學習異常檢測 629

11.1  章節材料 629

11.2  探索模擬登錄嘗試數據 631

11.3  利用無監督學習執行異常檢測 638

11.3.1  隔離森林 639

11.3.2  局部異常因子 641

11.3.3  比較模型 643

11.4  實現有監督學習的異常檢測 647

11.4.1  基線模型 649

11.4.2  虛擬分類器 649

11.4.3  樸素貝葉斯 651

11.4.4  邏輯回歸 655

11.5  將反饋循環與在線學習相結合 657

11.5.1  創建PartialFitPipeline子類 658

11.5.2  隨機梯度下降分類器 658

11.5.3  構建初始模型 660

11.5.4  評估模型 661

11.5.5  更新模型 666

11.5.6  提交結果 668

11.5.7  進一步改進 669

11.6  小結 669

11.7  練習 670

11.8  延伸閱讀 671

第5篇  其 他 資 源

第12章  未來之路 675

12.1  數據資源 675

12.1.1  Python包 676

12.1.2  Seaborn 676

12.1.3  scikit-learn 676

12.2  搜索數據 677

12.3  API 677

12.4  網站 678

12.4.1  金融 678

12.4.2  官方數據 679

12.4.3  健康與經濟 679

12.4.4  社交網絡 680

12.4.5  運動 680

12.4.6  雜項 681

12.5  練習使用數據 681

12.5.1  Kaggle 682

12.5.2  DataCamp 682

12.6  Python練習 682

12.7  小結 684

12.8  練習 684

12.9  延伸閱讀 685

練習答案 693

附錄A 695

數據分析工作流程 695

選擇合適的可視化結果 696

機器學習工作流程 697