Pandas1.x實例精解 Pandas 1.x Cookbook

Harrison, Matt, Petrou, Theodore 譯 劉鵬

  • Pandas1.x實例精解-preview-1
  • Pandas1.x實例精解-preview-2
  • Pandas1.x實例精解-preview-3
Pandas1.x實例精解-preview-1

商品描述

本書詳細闡述了與Pandas相關的基本解決方案,主要包括Pandas基礎,DataFrame基本操作,創建和保留DataFrame,開始數據分析,探索性數據分析,選擇數據子集,過濾行,對齊索引,分組以進行聚合、過濾和轉換,將數據重組為規整形式,組合Pandas對象,時間序列分析,使用Matplotlib、Pandas和Seaborn進行可視化,調試和測試等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。

目錄大綱

目    錄

第1章  Pandas基礎 1

1.1  導入Pandas 1

1.2  介紹Pandas 1

1.3  關於Pandas DataFrame 2

1.3.1  實戰操作 2

1.3.2  原理解釋 3

1.4  瞭解DataFrame屬性 4

1.4.1  實戰操作 4

1.4.2  原理解釋 5

1.4.3  擴展知識 6

1.5  瞭解數據類型 6

1.5.1  實戰操作 7

1.5.2  原理解釋 8

1.5.3  擴展知識 9

1.6  選擇列 9

1.6.1  實戰操作 10

1.6.2  原理解釋 13

1.6.3  擴展知識 13

1.7  調用Series方法 14

1.7.1  實戰操作 14

1.7.2  原理解釋 19

1.7.3  擴展知識 19

1.8  瞭解Series的操作 20

1.8.1  實戰操作 21

1.8.2  原理解釋 23

1.8.3  擴展知識 23

1.9  使用Series方法鏈 26

1.9.1  實戰操作 26

1.9.2  原理解釋 27

1.9.3  擴展知識 28

1.10  重命名列名 31

1.10.1  實戰操作 31

1.10.2  原理解釋 31

1.10.3  擴展知識 32

1.11  創建和刪除列 34

1.11.1  實戰操作 34

1.11.2  原理解釋 40

1.11.3  擴展知識 40

第2章  DataFrame基本操作 43

2.1  介紹 43

2.2  選擇多個DataFrame列 43

2.2.1  實戰操作 43

2.2.2  原理解釋 44

2.2.3  擴展知識 45

2.3  使用方法選擇列 45

2.3.1  實戰操作 46

2.3.2  原理解釋 48

2.3.3  擴展知識 48

2.4  排序列名稱 49

2.4.1  實戰操作 50

2.4.2  原理解釋 52

2.4.3  擴展知識 52

2.5  統計DataFrame摘要信息 52

2.5.1  實戰操作 53

2.5.2  原理解釋 55

2.5.3  擴展知識 55

2.6  使用DataFrame方法鏈 56

2.6.1  實戰操作 56

2.6.2  原理解釋 57

2.6.3  擴展知識 57

2.7  瞭解DataFrame的操作 58

2.7.1  實戰操作 59

2.7.2  原理解釋 62

2.7.3  擴展知識 63

2.8  比較缺失值 63

2.8.1  做好準備 63

2.8.2  實戰操作 64

2.8.3  原理解釋 66

2.8.4  擴展知識 66

2.9  轉置DataFrame操作的方向 67

2.9.1  實戰操作 67

2.9.2  原理解釋 69

2.9.3  擴展知識 69

2.10  確定大學校園的多樣性 70

2.10.1  實戰操作 70

2.10.2  原理解釋 74

2.10.3  擴展知識 74

第3章  創建和保留DataFrame 77

3.1  介紹 77

3.2  從頭開始創建DataFrame 77

3.2.1  實戰操作 77

3.2.2  原理解釋 78

3.2.3  擴展知識 78

3.3  編寫CSV 80

3.3.1  實戰操作 80

3.3.2  擴展知識 81

3.4  讀取大型CSV文件 82

3.4.1  實戰操作 82

3.4.2  原理解釋 88

3.4.3  擴展知識 89

3.5  使用Excel文件 90

3.5.1  實戰操作 90

3.5.2  原理解釋 91

3.5.3  擴展知識 91

3.6  使用ZIP文件 92

3.6.1  實戰操作 92

3.6.2  原理解釋 95

3.6.3  擴展知識 95

3.7  與數據庫協同工作 95

3.7.1  實戰操作 95

3.7.2  原理解釋 97

3.8  讀取JSON 97

3.8.1  實戰操作 97

3.8.2  原理解釋 100

3.8.3  擴展知識 100

3.9  讀取HTML表格 100

3.9.1  實戰操作 101

3.9.2  原理解釋 105

3.9.3  擴展知識 106

第4章  開始數據分析 107

4.1  介紹 107

4.2  開發數據分析例程 107

4.2.1  實戰操作 108

4.2.2  原理解釋 110

4.2.3  擴展知識 110

4.3  數據字典 111

4.4  通過更改數據類型減少內存使用量 112

4.4.1  實戰操作 112

4.4.2  原理解釋 115

4.4.3  擴展知識 116

4.5  從最大中選擇最小 117

4.5.1  實戰操作 118

4.5.2  原理解釋 119

4.5.3  擴展知識 119

4.6  通過排序選擇每組中的最大值 119

4.6.1  實戰操作 119

4.6.2  原理解釋 121

4.6.3  擴展知識 122

4.7  使用sort_values復制nlargest 123

4.7.1  實戰操作 123

4.7.2  原理解釋 125

4.8  計算追蹤止損單價格 126

4.8.1  實戰操作 126

4.8.2  原理解釋 128

4.8.3  擴展知識 128

第5章  探索性數據分析 129

5.1  介紹 129

5.2  摘要統計 129

5.2.1  實戰操作 130

5.2.2  原理解釋 132

5.2.3  擴展知識 132

5.3  查看列類型 132

5.3.1  實戰操作 132

5.3.2  原理解釋 133

5.3.3  擴展知識 134

5.4  分類數據 137

5.4.1  實戰操作 137

5.4.2  原理解釋 140

5.4.3  擴展知識 141

5.5  連續數據 145

5.5.1  實戰操作 145

5.5.2  原理解釋 148

5.5.3  擴展知識 149

5.6  跨越分類比較連續值 151

5.6.1  實戰操作 151

5.6.2  原理解釋 153

5.6.3  擴展知識 153

5.7  比較兩個連續列 157

5.7.1  實戰操作 157

5.7.2  原理解釋 162

5.7.3  擴展知識 163

5.8  使用分類值比較分類值 165

5.8.1  實戰操作 165

5.8.2  原理解釋 171

5.9  使用Pandas分析庫 171

5.9.1  實戰操作 172

5.9.2  原理解釋 173

第6章  選擇數據子集 175

6.1  介紹 175

6.2  選擇Series數據 175

6.2.1  實戰操作 176

6.2.2  原理解釋 179

6.2.3  擴展知識 180

6.3  選擇DataFrame行 182

6.3.1  實戰操作 182

6.3.2  原理解釋 184

6.3.3  擴展知識 185

6.4  同時選擇DataFrame行和列 185

6.4.1  實戰操作 185

6.4.2  原理解釋 187

6.4.3  擴展知識 188

6.5  使用整數和標簽選擇數據 188

6.5.1  實戰操作 188

6.5.2  原理解釋 189

6.5.3  擴展知識 189

6.6  按字典序切片 190

6.6.1  實戰操作 190

6.6.2  原理解釋 192

6.6.3  擴展知識 192

第7章  過濾行 193

7.1  介紹 193

7.2  計算布爾統計信息 193

7.2.1  實戰操作 194

7.2.2  原理解釋 195

7.2.3  擴展知識 196

7.3  構造多個布爾條件 196

7.3.1  實戰操作 197

7.3.2  原理解釋 197

7.3.3  擴展知識 198

7.4  用布爾數組過濾 199

7.4.1  實戰操作 199

7.4.2  原理解釋 201

7.4.3  擴展知識 202

7.5  比較行過濾和索引過濾 202

7.5.1  實戰操作 203

7.5.2  原理解釋 203

7.5.3  擴展知識 204

7.6  使用唯一索引和排序索引進行選擇 205

7.6.1  實戰操作 205

7.6.2  原理解釋 207

7.6.3  擴展知識 207

7.7  轉換SQL WHERE子句 208

7.7.1  實戰操作 209

7.7.2  原理解釋 210

7.7.3  擴展知識 211

7.8  使用查詢方法提高布爾索引的可讀性 212

7.8.1  實戰操作 212

7.8.2  原理解釋 213

7.8.3  擴展知識 213

7.9  使用.where方法保留Series大小 214

7.9.1  實戰操作 214

7.9.2  原理解釋 218

7.9.3  擴展知識 218

7.10  屏蔽DataFrame行 218

7.10.1  實戰操作 218

7.10.2  原理解釋 220

7.10.3  擴展知識 221

7.11  使用布爾值、整數位置和標簽進行選擇 221

7.11.1  實戰操作 221

7.11.2  原理解釋 224

第8章  對齊索引 225

8.1  介紹 225

8.2  檢查Index對象 225

8.2.1  實戰操作 225

8.2.2  原理解釋 227

8.2.3  擴展知識 227

8.3  生成笛卡兒積 228

8.3.1  實戰操作 228

8.3.2  原理解釋 229

8.3.3  擴展知識 229

8.4  瞭解索引暴增現象 231

8.4.1  實戰操作 231

8.4.2  原理解釋 233

8.4.3  擴展知識 233

8.5  給不相等的索引填充值 234

8.5.1  實戰操作 234

8.5.2  原理解釋 236

8.5.3  擴展知識 237

8.6  添加來自不同DataFrames中的列 239

8.6.1  實戰操作 239

8.6.2  原理解釋 242

8.6.3  擴展知識 242

8.7  突出顯示每列的最大值 244

8.7.1  實戰操作 245

8.7.2  原理解釋 250

8.7.3  擴展知識 251

8.8  使用方法鏈復制.idxmax 252

8.8.1  實戰操作 252

8.8.2  原理解釋 256

8.8.3  擴展知識 257

8.9  查找最常見的列的最大值 258

8.9.1  實戰操作 258

8.9.2  原理解釋 259

8.9.3  擴展知識 259

第9章  分組以進行聚合、過濾和轉換 261

9.1  介紹 261

9.2  定義聚合 262

9.2.1  實戰操作 262

9.2.2  原理解釋 264

9.2.3  擴展知識 265

9.3  使用多個列和函數進行分組和聚合 265

9.3.1  實戰操作 266

9.3.2  原理解釋 268

9.3.3  擴展知識 269

9.4  分組後刪除多重索引 271

9.4.1  實戰操作 271

9.4.2  原理解釋 274

9.4.3  擴展知識 274

9.5  使用自定義聚合函數進行分組 275

9.5.1  實戰操作 275

9.5.2  原理解釋 277

9.5.3  擴展知識 277

9.6  使用*args和**kwargs自定義聚合函數 279

9.6.1  實戰操作 279

9.6.2  原理解釋 281

9.6.3  擴展知識 281

9.7  檢查groupby對象 282

9.7.1  實戰操作 282

9.7.2  原理解釋 285

9.7.3  擴展知識 286

9.8  篩選少數族裔占多數的州 286

9.8.1  實戰操作 287

9.8.2  原理解釋 288

9.8.3  擴展知識 288

9.9  通過減肥賭註做出改變 289

9.9.1  實戰操作 289

9.9.2  原理解釋 294

9.9.3  擴展知識 295

9.10  計算每個州的SAT加權平均成績 296

9.10.1  實戰操作 297

9.10.2  原理解釋 299

9.10.3  擴展知識 300

9.11  按連續變量分組 301

9.11.1  實戰操作 302

9.11.2  原理解釋 303

9.11.3  擴展知識 304

9.12  計算城市之間的航班總數 305

9.12.1  實戰操作 305

9.12.2  原理解釋 308

9.12.3  擴展知識 309

9.13  尋找最長的準點航班連續記錄 310

9.13.1  實戰操作 310

9.13.2  原理解釋 314

9.13.3  擴展知識 316

第10章  將數據重組為規整形式 319

10.1  介紹 319

10.2  使用stack將變量值規整為列名稱 321

10.2.1  實戰操作 322

10.2.2  原理解釋 324

10.2.3  擴展知識 324

10.3  使用melt將變量值規整為列名稱 326

10.3.1  實戰操作 326

10.3.2  原理解釋 327

10.3.3  擴展知識 327

10.4  同時堆疊多組變量 328

10.4.1  實戰操作 329

10.4.2  原理解釋 330

10.4.3  擴展知識 330

10.5  反轉已堆疊的數據 331

10.5.1  實戰操作 332

10.5.2  原理解釋 335

10.5.3  擴展知識 335

10.6  在groupby聚合之後取消堆疊 336

10.6.1  實戰操作 337

10.6.2  原理解釋 338

10.6.3  擴展知識 339

10.7  使用groupby聚合復制 .pivot_table方法的功能 340

10.7.1  實戰操作 340

10.7.2  原理解釋 342

10.7.3  擴展知識 342

10.8  重命名軸的級別以方便數據的重塑 344

10.8.1  實戰操作 344

10.8.2  原理解釋 348

10.8.3  擴展知識 349

10.9  對多個變量存儲為列名稱的情況進行規整 350

10.9.1  實戰操作 350

10.9.2  原理解釋 354

10.9.3  擴展知識 354

10.10  對多個變量存儲為單個列的情況進行規整 356

10.10.1  實戰操作 356

10.10.2  原理解釋 359

10.10.3  擴展知識 360

10.11  對多個值存儲在同一單元格中的情況進行規整 360

10.11.1  實戰操作 361

10.11.2  原理解釋 362

10.11.3  擴展知識 362

10.12  對變量存儲在列名稱和值中的情況進行規整 363

10.12.1  實戰操作 364

10.12.2  原理解釋 365

10.12.3  擴展知識 365

第11章  組合Pandas對象 367

11.1  介紹 367

11.2  將新行追加到DataFrame 367

11.2.1  實戰操作 367

11.2.2  原理解釋 372

11.2.3  擴展知識 372

11.3  將多個DataFrame連接在一起 373

11.3.1  實戰操作 374

11.3.2  原理解釋 376

11.3.3  擴展知識 376

11.4  瞭解concat函數、.join和.merge方法之間的區別 377

11.4.1  實戰操作 378

11.4.2  原理解釋 383

11.4.3  擴展知識 384

11.5  連接到SQL數據庫 385

11.5.1  實戰操作 386

11.5.2  原理解釋 389

11.5.3  擴展知識 390

第12章  時間序列分析 393

12.1  介紹 393

12.2  瞭解Python和Pandas日期工具之間的區別 393

12.2.1  實戰操作 394

12.2.2  原理解釋 398

12.3  智能分割時間序列 399

12.3.1  實戰操作 400

12.3.2  原理解釋 403

12.3.3  擴展知識 404

12.4  用時間數據過濾列 404

12.4.1  實戰操作 404

12.4.2  原理解釋 407

12.4.3  擴展知識 408

12.5  使用僅適用於DatetimeIndex的方法 408

12.5.1  實戰操作 409

12.5.2  原理解釋 414

12.5.3  擴展知識 415

12.6  計算每周犯罪數 415

12.6.1  實戰操作 416

12.6.2  原理解釋 418

12.6.3  擴展知識 418

12.7  分別匯總每周犯罪和交通事故 419

12.7.1  實戰操作 420

12.7.2  原理解釋 422

12.7.3  擴展知識 424

12.8  按星期和年份衡量犯罪情況 425

12.8.1  實戰操作 425

12.8.2  原理解釋 432

12.8.3  擴展知識 434

12.9  使用匿名函數進行分組 435

12.9.1  實戰操作 435

12.9.2  原理解釋 438

12.10  按Timestamp和其他列分組 438

12.10.1  實戰操作 439

12.10.2  原理解釋 442

12.10.3  擴展知識 443

第13章  使用Matplotlib、Pandas和Seaborn進行可視化 445

13.1  介紹 445

13.2  Matplotlib入門 446

13.3  Matplotlib的面向對象指南 447

13.3.1  實戰操作 450

13.3.2  原理解釋 454

13.3.3  擴展知識 458

13.4  使用Matplotlib可視化數據 458

13.4.1  實戰操作 458

13.4.2  原理解釋 462

13.4.3  擴展知識 463

13.5  Pandas繪圖基礎 466

13.5.1  實戰操作 467

13.5.2  原理解釋 469

13.5.3  擴展知識 470

13.6  可視化航班數據集 471

13.6.1  實戰操作 471

13.6.2  原理解釋 482

13.7  使用堆積面積圖發現新興趨勢 484

13.7.1  實戰操作 484

13.7.2  原理解釋 488

13.8  瞭解Seaborn和Pandas之間的區別 489

13.8.1  實戰操作 489

13.8.2  原理解釋 495

13.9  使用Seaborn網格進行多變量分析 496

13.9.1  實戰操作 496

13.9.2  原理解釋 499

13.9.3  擴展知識 500

13.10  使用Seaborn在鑽石數據集中發現辛普森悖論 502

13.10.1  實戰操作 503

13.10.2  原理解釋 507

13.10.3  擴展知識 507

第14章  調試和測試 509

14.1  轉換數據 509

14.1.1  實戰操作 509

14.1.2  原理解釋 513

14.2  測試.apply方法的性能 514

14.2.1  實戰操作 514

14.2.2  原理解釋 515

14.2.3  擴展知識 515

14.3  使用Dask、Pandarell和Swifter等提高 .apply 方法的性能 516

14.3.1  實戰操作 517

14.3.2  原理解釋 518

14.4  檢查代碼 519

14.4.1  實戰操作 520

14.4.2  原理解釋 523

14.4.3  擴展知識 523

14.5  在Jupyter中進行調試 523

14.5.1  實戰操作 524

14.5.2  原理解釋 526

14.5.3  擴展知識 526

14.6  管理數據的完整性 527

14.6.1  實戰操作 527

14.6.2  原理解釋 534

14.7  結合使用pytest和Pandas 535

14.7.1  實戰操作 535

14.7.2  原理解釋 539

14.7.3  擴展知識 539

14.8  使用Hypothesis庫生成測試 540

14.8.1  實戰操作 540

14.8.2  原理解釋 545