书籍详情
Pandas 1.x实例精解
作者:[美]马特·哈里森 等著,刘鹏 译
出版社:清华大学出版社
出版时间:2022-06-01
ISBN:9787302609605
定价:¥159.00
购买这本书可以去
内容简介
本书详细阐述了与Pandas相关的基本解决方案,主要包括Pandas基础,DataFrame基本操作,创建和保留DataFrame,开始数据分析,探索性数据分析,选择数据子集,过滤行,对齐索引,分组以进行聚合、过滤和转换,将数据重组为规整形式,组合Pandas对象,时间序列分析,使用Matplotlib、Pandas和Seaborn进行可视化,调试和测试等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
作者简介
[美]马特·哈里森(Matt Harrison),从2000年开始使用Python。他经营着MetaSnake公司,这是一家提供Python和数据科学方面企业培训的公司。Matt Harrison还是Machine Learning Pocket Reference(《机器学习口袋宝典》)、Illustrated Guide to Python 3(《Python 3绘本指南》)和Learning the Pandas Library(《学习Pandas库》)以及其他畅销书籍的作者。Theodore Petrou是数据科学家和Dunder Data公司的创始人,后者是一家致力于探索性数据分析的专业教育公司。他还是Houston Data Science(休斯顿数据科学)线下聚会的牵头人,Houston Data Science是一个有2000多名成员的聚会组织,其主要目标是将本地数据分析爱好者聚集在一起,以探讨数据科学实践。在创建Dunder Data公司之前,TheodorePetrou是一家大型石油服务公司Schlumberger的数据科学家,他在该公司的绝大部分工作就是研究和探索数据。Theodore Petrou的一些项目包括使用针对性的情感分析来从工程师文本中发现故障的根本原因,开发定制的客户端/服务器仪表板应用程序以及实时Web服务以避免对销售商品的错误定价。Theodore Petrou拥有莱斯大学(位于美国休斯顿市郊)的统计硕士学位。在成为数据科学家之前,他常利用自己的分析技能来玩扑克游戏和教授数学。他还是通过实践学习理念的坚定支持者,常在Stack Overflow技术问答网站上回答有关Pandas的问题。
目录
第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
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
猜您喜欢