登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

『簡體書』Pandas1.x实例精解

書城自編碼: 3768528
分類: 簡體書→大陸圖書→計算機/網絡數據庫
作者: [美]马特·哈里森 等著 刘鹏 译
國際書號(ISBN): 9787302609605
出版社: 清华大学出版社
出版日期: 2022-06-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 890

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
无辜者的谎言
《 无辜者的谎言 》

售價:NT$ 279.0
创作与爱:托芙·扬松传
《 创作与爱:托芙·扬松传 》

售價:NT$ 493.0
建筑与时间:从上古城市到当代空间
《 建筑与时间:从上古城市到当代空间 》

售價:NT$ 437.0
重建:美利坚未完成的革命(1863—1877)
《 重建:美利坚未完成的革命(1863—1877) 》

售價:NT$ 946.0
复辟:查理二世和他的王国,1660—1685
《 复辟:查理二世和他的王国,1660—1685 》

售價:NT$ 773.0
向上社交:拿捏分寸 跨越社交圈层的底层逻辑 让优秀的人主动靠近你
《 向上社交:拿捏分寸 跨越社交圈层的底层逻辑 让优秀的人主动靠近你 》

售價:NT$ 330.0
九州天下:中国文化与中国人
《 九州天下:中国文化与中国人 》

售價:NT$ 325.0
Hadoop大数据集群部署及数据存储项目化教程
《 Hadoop大数据集群部署及数据存储项目化教程 》

售價:NT$ 269.0

建議一齊購買:

+

NT$ 1564
《 新基建:数据中心规划与设计 》
+

NT$ 498
《 Python数据分析与挖掘实战(第2版) 》
+

NT$ 498
《 从零开始学MySQL 》
+

NT$ 600
《 大数据分析——数据仓库项目实战 》
+

NT$ 335
《 Access数据库创建、使用与管理从新手到高手 》
+

NT$ 624
《 Oracle DBA手记 4,数据安全警示录(修订版) 》
編輯推薦:
本书以操作秘笈的形式编写,包含近100个秘笈,从非常简单的应用到高级操作技巧都有涵盖。所有秘笈力求以清晰、简洁、现代的惯用Pandas代码编写。“实战操作”部分详细介绍各个秘笈的操作步骤,“原理解释”部分对秘笈的每一步都进行非常详细的阐释。绝大多数秘笈还提供“扩展知识”部分,使读者能够举一反三,发展出自己的操作技巧。本书包含大量的Pandas代码,并提供了配套的源数据文件,以便读者跟随操作和对照学习。
內容簡介:
本书详细阐述了与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
內容試閱
Pandas是一个使用Python创建和处理结构化数据的库。什么是结构化?其实就是按行和列组织的表格数据,就像你在Excel电子表格或SQL数据库中找到的那样。数据科学家、分析师、程序员和工程师等都将利用它来提取所需的数据。
Pandas仅限于“小数据”(这里说的“小”是指数据可以容纳在单台机器的内存中)。但是,其语法和操作已被其他项目采用或启发了它们的应用,这些项目包括PySpark、Dask、Modin、cuDF、Baloo、Dexplo、Tabel、StaticFrame等。这些项目有不同的目标,但其中一些将扩展到大数据。因此,Pandas的功能使它逐渐成为与结构化数据进行交互的事实上的API,在这种情况下,了解Pandas的工作原理是很有必要也很有价值的。
本书作者之一Matt Harrison经营着一家负责企业培训的公司,其主营业务是为想要提高Python和数据处理技能水平的大型公司提供人员培训服务。因此,这些年来,他已经教会了成千上万的人使用Python和Pandas。编写本书的目的是帮助许多人更好地理解和应 用Pandas,破解他们的迷惑。尽管Pandas优点不少,但也有一些难解或令人困惑的地方。本书将详细介绍有关Pandas中的各种操作,指导读者了解可能遇到的一些难点,以便能够真正掌握和处理它们。
本书读者
本书以操作秘笈的形式编写,包含近100个秘笈,从非常简单的应用到高级操作技巧都有涵盖。所有秘笈力求以清晰、简洁、现代的惯用Pandas代码编写。“实战操作”部分详细介绍各个秘笈的操作步骤,“原理解释”部分对秘笈的每一步都进行非常详细的阐释。绝大多数秘笈还提供“扩展知识”部分,使读者能够举一反三,发展出自己的操作技巧。本书包含大量的Pandas代码,并提供了配套的源数据文件,以便读者跟随操作和对照学习。
概括而言,前7章中的秘笈比后面7章中的Pandas操作更简单,并更着重于Pandas的基础应用,而后7章的重点则是更高级的操作技巧,并且更多地以项目为导向。由于本书涵盖的范围和难度都较广,因此对新手和日常用户都有用。根据我们的经验,即使是经常使用Pandas的人也可能并未掌握其很多编码技巧。这也和Pandas本身的特性有关,因为几乎总是有多种方法可以完成相同的操作。但是,如果读者不熟悉Pandas的话,那么采用的方法可能是效率最低的。对于同一个问题,两个Pandas解决方案之间在性能上相差一个数量级,这种情况并不罕见。
阅读本书需要掌握一定的Python基础知识。我们假定读者熟悉Python中所有常见的内置数据容器,如列表、集合、字典和元组。
内容介绍
本书共包含14章,具体内容如下。
第1章“Pandas基础”,详细介绍Pandas的两个数据结构,即Series和DataFrame。此外,还解释它们的组成部分和相关术语。数据的每一列必须仅具有一种数据类型,并且每种数据类型都被涵盖。对此,本章详细讨论每种数据类型,并介绍如何使用方法链等操作。
第2章“DataFrame基本操作”,重点介绍数据分析人员在数据分析期间执行的最关键和最典型的操作。
第3章“创建和保留DataFrame”,讨论提取数据和创建DataFrame的各种方法,包括读取CSV文件、Excel电子表格、JSON格式数据和HTML表格等。
第4章“开始数据分析”,介绍在读入数据之后应该开始执行的操作,例如通过更改数据类型减少内存使用量、从最大中选择最小、通过排序选择每个组中的最大值和计算追踪止损单价格等,这些都是比较实用的技巧。
第5章“探索性数据分析”,介绍用于比较数字数据和分类数据的基本分析技术。本章还演示常见的可视化技术。
第6章“选择数据子集”,介绍选择数据的不同子集的多种方法,包括选择Series数据、选择DataFrame行、同时选择DataFrame行和列、使用整数和标签选择数据、按字典序切片等,这些操作包含一定的技巧,粗心的用户可能会感到困惑。
第7章“过滤行”,介绍查询数据以基于布尔条件选择数据子集的过程,包括构造多个布尔条件、用布尔数组过滤、使用查询方法提高布尔索引的可读性,以及使用布尔值、整数位置和标签进行选择等。
第8章“对齐索引”,主要讨论非常重要但却经常被误解的索引对象。错误使用索引会导致许多错误的结果,本章中的秘笈演示如何正确使用索引来提供有力的结果。
第9章“分组以进行聚合、过滤和转换”介绍强大的分组功能,这些功能在数据分析期间总是必需的。你可以构建自定义函数以应用于分组。
第10章“将数据重组为规整形式”,阐释规整数据的定义及其重要性,并演示如何将许多不同形式的杂乱数据集转换为规整数据集。
第11章“组合Pandas对象”,介绍许多可用于垂直或水平组合DataFrame和Series的方法,包括将新行追加到DataFrame、将多个DataFrame连接在一起以及连接到SQL数据库等操作。此外,还详细阐释concat、join和merge方法之间的区别。
第12章“时间序列分析”,讨论时间序列的强大功能,它使得分析人员可以按任何时间维度进行数据剖析。
第13章“使用Matplotlib、Pandas和Seaborn进行可视化”,本章主要介绍Matplotlib库,该库负责Pandas中的所有可视化绘图。此外,还介绍Pandas绘图方法以及Seaborn库,Seaborn库能够产生Pandas中无法直接获得的美观的可视化效果。
第14章“调试和测试”,探讨测试DataFrame和Pandas代码的机制。如果你打算在生产环境中部署Pandas,那么本章将帮助你建立对代码的信心。本章介绍的具体操作包括转换数据、测试.apply方法的性能、使用Dask、Pandarell和Swifter等提高.apply方法的性能、检查代码、在Jupyter中进行调试、管理数据的完整性、结合使用pytest和Pandas以及使用Hypothesis库生成测试等。
充分利用本书
要充分利用本书,你也许需要执行以下操作。
首先,也是最重要的,你应该下载本书所有代码,这些代码都被存储在Jupyter Notebook中。阅读每个秘笈时,请在Notebook中运行代码的每个步骤。在运行代码时,请确保自己进行更多的探索。
其次,在浏览器中打开Pandas官方说明文档,其网址如下。
http://pandas.pydata.org/pandas-docs/stable/
Pandas说明文档是一个很好的资源,其中包含超过1000页的材料。在文档中有大多数操作Pandas的示例,通常可以从See also(另请参阅)部分中直接链接它们。当然,它的缺陷是,虽然涵盖了大多数基础操作,但示例采用的却是虚拟数据,这些虚拟数据并不能反映你在分析现实世界中的数据集时可能遇到的情况。
本书需要的软件包
Pandas是用于Python编程语言的第三方程序包,在出版本书时,它的版本为1.0.1(目前,Python的版本为3.8)。本书中的示例在Python 3.6及更高版本中都应该可以正常工作。
你可以通过多种方式在计算机上安装Pandas和本书提到的其余库,但是最简单的方法是安装Anaconda发行版。该版本由Anaconda创建,将所有流行的用于科学计算的库打包到一个可下载的文件中,该文件可在Windows、macOS和Linux上使用。你可以访问以下页面以获取Anaconda发行版。
https://www.anaconda.com/distribution
除了所有科学计算库外,Anaconda发行版还附带Jupyter Notebook,这是一个基于浏览器的程序,可使用Python和其他多种语言进行开发。本书的所有秘笈都是在Jupyter Notebook内部开发的,所有代码都已提供。
当然,不使用Anaconda发行版也可以安装本书所需的所有库。感兴趣的读者可访问Pandas安装页面,其网址如下。
http://pandas.pydata.org/pandas-docs/stable/install.html
下载示例代码文件
读者可以从www.packtpub.com中下载本书的示例代码文件。具体步骤如下。
(1)登录或注册www.packtpub.com。
(2)在Search(搜索)框中输入本书名称Pandas 1.x Cookbook的一部分(不分区大小写,并且不必输入完全),即可看到本书出现在推荐下拉菜单中,如图P-1所示。

图P-1 搜索书名
(3)选择Pandas 1.x Cookbook一书,并在其详细信息页面中单击Download code from GitHub(从GitHub上下载代码)按钮,如图P-2所示。需要说明的是,你需要登录此网站才能看到该下载按钮(注册账号是免费的)。

图P-2 选择本书书名
本书代码包在GitHub上的托管地址如下。
https://github.com/PacktPublishing/Pandas-Cookbook-Second-Edition
在下载页面上,单击Code(代码)按钮,然后选择Download ZIP即可下载本书代码包,如图P-3所示。
如果代码有更新,则也会在现有GitHub存储库上更新。
下载文件后,请确保使用最新版本软件解压或析取文件夹。
? WinRAR/7-Zip(Windows系统)。
? Zipeg/iZip/UnRarX(Mac系统)。
? 7-Zip/PeaZip(Linux系统)。

图P-3 下载本书代码包
运行Jupyter Notebook
要跟随本书秘笈进行操作,建议启动并运行Jupyter Notebook,以便读者可以在阅读秘笈的同时运行代码。与仅阅读本书相比,在计算机上练习操作可以使读者自己进行探索并能够更深入地了解与本书秘笈相关的更多内容。
假设你已经在计算机上安装了Anaconda发行版,则可以从Anaconda图形用户界面或命令行中启动Jupyter Notebook。两个选项任选其一,我们强烈建议你使用命令行。如果你打算使用Python做很多事情,那么需要从这一刻就开始适应命令行。
安装Anaconda之后,打开命令提示符(在Windows的搜索栏中输入cmd,或在Mac或Linux上打开终端),然后输入以下命令。
$ jupyter-notebook
你不必从主目录而是可以从任何位置处运行上述命令,浏览器中的内容将反映该位置。
尽管现在已经启动了Jupyter Notebook程序,但是实际上我们还没有启动可以在 Python中进行开发的单个Notebook。对此,你可以单击页面右侧的New(新建)按钮,这将下拉列出所有可能使用的内核的列表。如果你刚刚下载了Anaconda,则只有一个可用的内核(Python 3)。选择Python 3内核后,将在浏览器中打开一个新选项卡,你可以在其中开始编写Python代码。
当然,你也可以打开以前创建的Notebook,而不用开始一个新的。为此,可在Jupyter Notebook浏览器主页提供的文件系统中导航,然后选择要打开的Notebook。所有Jupyter Notebook文件均以.ipynb作为扩展名。
或者,你也可以使用云提供商的Notebook环境。Google和Microsoft都提供了已预装Pandas的免费Notebook环境。
下载彩色图像
我们还提供了一个PDF文件,其中包含本书中使用的屏幕截图/图表的彩色图像。你可以通过以下网址下载。
https://static.packt-cdn.com/downloads/9781839213106_ColorImages.pdf
本书约定
本书中使用了许多文本约定。
(1)有关代码块的设置形式如下。
import pandas as pd
import numpy as np
movies = pd.read_csv(”data/movie.csv”)
movies
(2)当要强调代码块的特定部分时,相关行或项目以粗体显示。示例如下。
import pandas as pd
import numpy as np
movies = pd.read_csv(”data/movie.csv”)
movies
(3)任何命令行输入或输出都采用如下所示的粗体代码形式。
>>> employee = pd.read_csv(‘data/employee.csv’)
>>> max_dept_salary = employee.groupby(‘DEPARTMENT’)[‘BASE_SALARY’].max()
(4)术语或重要单词采用中英文对照形式,在括号内保留其英文原文。示例如下。
可以在单个Figure中绘制折线图(line plot)、散点图(scatter plot)和条形图(bar plot)。散点图是唯一需要为x和y值指定列的图形。
(5)对于界面词汇则保留其英文原文,在后面使用括号添加其中文翻译。示例如下。
可以看到,前两个目的地机场都在夏威夷,即HNL(火奴鲁鲁国际机场)和OGG(卡胡鲁伊机场),考虑到美国的地理情况,这一点不足为奇。
(6)本书使用了以下两个图标。
表示警告或重要的注意事项。
表示提示或小技巧。
每个秘笈的假设
应该假定在每个秘笈的开头,将NumPy、Matplotlib和Pandas都导入了名称空间。为了将绘图直接嵌入Notebook中,还必须运行魔术命令%matplotlib inline。
此外,所有数据都被存储在data目录中,并且通常被存储为CSV文件,以便可以使用read_csv函数直接读取。
>>> %matplotlib inline
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> import pandas as pd
>>> my_dataframe = pd.read_csv(‘data/dataset_name.csv’)

数据集说明
本书共使用了大约20个数据集。在完成秘笈中的操作步骤时,了解每个数据集的背景信息可能会非常有帮助。有关每个数据集的详细说明,请访问以下网址中提供的dataset_description Jupyter Notebook。
https://github.com/PacktPublishing/Pandas-Cookbook-Second-Edition
每个数据集都有一个列的列表,并提供了每一列的信息以及如何获取数据的注释。
编写体例
本书大多数章节是采用秘笈形式编写的,每节就是一个秘笈,每个秘笈中又分别包括“实战操作”“原理解释”“扩展知识”小节,使你既能学习Pandas实用操作,又能了解其相关的知识和原理,从而真正掌握和领会Pandas应用技巧。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.