新書推薦:
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:NT$
1367.0
《
欲望与家庭小说
》
售價:NT$
449.0
《
惜华年(全两册)
》
售價:NT$
320.0
《
甲骨文丛书·古代中国的军事文化
》
售價:NT$
454.0
《
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
》
售價:NT$
1112.0
《
半导体纳米器件:物理、技术和应用
》
售價:NT$
806.0
《
创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶
》
售價:NT$
281.0
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:NT$
1010.0
|
編輯推薦: |
使用Python进行数据分析并不难。如果你会使用电子表格,就能学会Pandas!虽然它的网格样式布局可能会让你想起Excel,但Pandas要灵活和强大得多。Python库可以快速对数百万行数据执行操作,并且可以轻松地与Python数据生态系统中的其他工具进行交互。这是提升你的数据游戏的完美方式。
《Pandas数据分析实战》介绍了使用令人惊叹的 Pandas 库在 Python 中进行数据分析。你将学习如何对重复操作进行自动化,并让你对在Excel中很难实现,甚至不可能实现的数据分析有更深的理解。本书每章都可以独立成篇。通过下载真实的数据集,可以让你的学习更加贴近现实工作。
|
內容簡介: |
主要内容 ●对数据集进行组织、 分组、合并、分割以及连接 ●发现基于文本和时间的数据的趋势 ●对数据进行排序、过滤、枢轴化、优化,并得出结论 ●应用聚合操作
|
關於作者: |
Boris Paskhaver是一名软件工程师、敏捷顾问和在线教育家。已有来自190个国家的30万名学生学习了他的编程课程。
|
目錄:
|
第Ⅰ部分 Pandas核心基础
第1章 Pandas概述 2
1.1 21世纪的数据 2
1.2 Pandas介绍 3
1.2.1 Pandas与图形电子表格应用程序 4
1.2.2 Pandas与它的竞争对手 5
1.3 Pandas之旅 6
1.3.1 导入数据集 6
1.3.2 操作DataFrame 8
1.3.3 计算Series中的值 11
1.3.4 根据一个或多个条件筛选列 12
1.3.5 对数据分组 14
1.4 本章小结 17
第2章 Series对象 18
2.1 Series概述 18
2.1.1 类和实例 19
2.1.2 用值填充Series对象 19
2.1.3 自定义Series索引 21
2.1.4 创建有缺失值的Series 24
2.2 基于其他Python对象创建Series 24
2.3 Series属性 26
2.4 检索第一行和最后一行 28
2.5 数学运算 30
2.5.1 统计操作 30
2.5.2 算术运算 36
2.5.3 广播 38
2.6 将Series传递给Python的
内置函数 40
2.7 代码挑战 42
2.7.1 问题描述 42
2.7.2 解决方案 42
2.8 本章小结 44
第3章 Series方法 46
3.1 使用read_csv函数导入数据集 46
3.2 对Series进行排序 51
3.2.1 使用sort_values方法按值排序 51
3.2.2 使用sort_index方法按索引
排序 53
3.2.3 使用nsmallest和nlargest方法
检索最小值和最大值 55
3.3 使用inplace参数替换原有Series 56
3.4 使用value_counts方法计算值的
个数 57
3.5 使用apply方法对每个Series值
调用一个函数 62
3.6 代码挑战 65
3.6.1 问题描述 65
3.6.2 解决方案 65
3.7 本章小结 67
第4章 DataFrame对象 68
4.1 DataFrame概述 69
4.1.1 通过字典创建DataFrame 69
4.1.2 通过NumPy ndarray创建
DataFrame 70
4.2 Series和DataFrame的相似之处 72
4.2.1 使用read_csv函数导入
DataFrame 72
4.2.2 Series和DataFrame的共享与
专有属性 73
4.2.3 Series和DataFrame的共有方法 75
4.3 对DataFrame进行排序 78
4.3.1 按照单列进行排序 78
4.3.2 按照多列进行排序 80
4.4 按照索引进行排序 81
4.4.1 按照行索引进行排序 82
4.4.2 按照列索引进行排序 82
4.5 设置新的索引 83
4.6 从DataFrame中选择列 84
4.6.1 从DataFrame中选择单列 84
4.6.2 从DataFrame中选择多列 85
4.7 从DataFrame中选择行 86
4.7.1 使用索引标签提取行 87
4.7.2 按索引位置提取行 89
4.7.3 从特定列中提取值 90
4.8 从Series中提取值 93
4.9 对行或列进行重命名 93
4.10 重置索引 94
4.11 代码挑战 96
4.11.1 问题描述 96
4.11.2 解决方案 96
4.12 本章小结 99
第5章 对DataFrame进行过滤 100
5.1 优化数据集以提高内存
使用效率 100
5.2 按单个条件过滤 106
5.3 按多个条件过滤 109
5.3.1 AND条件 109
5.3.2 OR条件 110
5.3.3 ~条件 111
5.3.4 布尔型方法 112
5.4 按条件过滤 112
5.4.1 isin方法 113
5.4.2 between方法 113
5.4.3 isnull和notnull方法 115
5.4.4 处理空值 117
5.5 处理重复值 119
5.5.1 duplicated方法 119
5.5.2 drop_duplicates方法 121
5.6 代码挑战 123
5.6.1 问题描述 123
5.6.2 解决方案 124
5.7 本章小结 127
第Ⅱ部分 应用Pandas
第6章 处理文本数据 130
6.1 字母的大小写和空格 130
6.2 字符串切片 134
6.3 字符串切片和字符替换 135
6.4 布尔型方法 137
6.5 拆分字符串 139
6.6 代码挑战 143
6.6.1 问题描述 143
6.6.2 解决方案 143
6.7 关于正则表达式的说明 145
6.8 本章小结 146
第7章 多级索引DataFrame 147
7.1 MultiIndex对象 148
7.2 MultiIndex DataFrame 151
7.3 对MultiIndex进行排序 156
7.4 通过MultiIndex提取列或行 159
7.4.1 提取一列或多列 160
7.4.2 使用loc提取一行或多行 162
7.4.3 使用iloc提取一行或多行 166
7.5 交叉选择 168
7.6 索引操作 169
7.6.1 重置索引 169
7.6.2 设置索引 172
7.7 代码挑战 174
7.7.1 问题描述 174
7.7.2 解决方案 175
7.8 本章小结 177
第8章 数据集的重塑和透视 178
8.1 宽数据和窄数据 178
8.2 由DataFrame创建数据透视表 180
8.2.1 pivot_table方法 180
8.2.2 数据透视表的其他选项 184
8.3 对索引级别进行堆叠和取消
堆叠 186
8.4 融合数据集 188
8.5 展开值列表 191
8.6 代码挑战 193
8.6.1 问题描述 193
8.6.2 解决方案 194
8.7 本章小结 197
第9章 GroupBy对象 198
9.1 从头开始创建GroupBy对象 198
9.2 从数据集中创建GroupBy对象 200
9.3 GroupBy对象的属性和方法 202
9.4 聚合操作 206
9.5 将自定义操作应用于所有组 209
9.6 按多列分组 210
9.7 代码挑战 211
9.7.1 问题描述 211
9.7.2 解决方案 212
9.8 本章小结 214
第10章 合并与连接 215
10.1 本章使用的数据集 216
10.2 连接数据集 218
10.3 连接后的DataFrame中的
缺失值 220
10.4 左连接 222
10.5 内连接 223
10.6 外连接 225
10.7 合并索引标签 228
10.8 代码挑战 229
10.8.1 问题描述 231
10.8.2 解决方案 231
10.9 本章小结 233
第11章 处理日期和时间 235
11.1 引入Timestamp对象 235
11.1.1 Python如何处理日期时间型
数据 235
11.1.2 Pandas 如何处理日期时间型
数据 238
11.2 在DatetimeIndex中存储多个
时间戳 240
11.3 将列或索引值转换为日期
时间类型数据 242
11.4 使用DatetimeProperties对象 243
11.5 使用持续时间进行加减 247
11.6 日期偏移 249
11.7 Timedelta对象 251
11.8 代码挑战 255
11.8.1 问题描述 256
11.8.2 解决方案 257
11.9 本章小结 260
第12章 导入和导出 261
12.1 读取和写入JSON文件 262
12.1.1 将JSON文件加载到
DataFrame中 263
12.1.2 将DataFrame导出到
JSON文件 269
12.2 读取和写入CSV文件 270
12.3 读取和写入Excel工作簿 272
12.3.1 在Anaconda环境中安装
xlrd和openpyxl库 272
12.3.2 导入Excel工作簿 272
12.3.3 导出Excel工作簿 275
12.4 代码挑战 277
12.4.1 问题描述 278
12.4.2 解决方案 278
12.5 本章小结 279
第13章 配置Pandas 280
13.1 获取和设置Pandas选项 280
13.2 精度 284
13.3 列的最大宽度 285
13.4 截断阈值 286
13.5 上下文选项 286
13.6 本章小结 287
第14章 可视化 289
14.1 安装Matplotlib 289
14.2 折线图 290
14.3 条形图 294
14.4 饼图 296
14.5 本章小结 297
附录A 安装及配置 298
附录B Python速成课程 314
附录C NumPy速成教程 346
附录D 用Faker生成模拟数据 353
附录E 正则表达式 359
|
內容試閱:
|
本书读者对象
《Pandas数据分析实战》全面介绍了用于数据分析的Pandas库。Pandas可以帮助你轻松地执行多种数据操作:排序、连接、旋转、清理、删除重复数据、聚合等。本书循序渐进地介绍了Pandas的各种功能,每种功能从较小的构建块开始,再到较大的数据结构。
《Pandas数据分析实战》适合具有电子表格软件(如Microsoft Excel、Google Sheets和Apple Numbers)以及类似的数据分析工具(如R和SAS)使用经验的中级数据分析师。对于想了解更多数据分析知识的Python开发人员来说,也是一本非常合适的参考书。
本书的内容结构
《Pandas数据分析实战》由14章组成,分为两部分。
第Ⅰ部分,Pandas核心基础,循序渐进地介绍了Pandas库的基本原理。
第1章使用Pandas分析了一个示例数据集,以全面概述Pandas的功能。
第2章介绍了Series对象,这是一种Pandas的核心数据结构,用于存储有序数据的集合。
第3章深入地探讨Series对象,探索了各种Series操作,包括值排序、删除重复项、提取最小值和最大值等。
第4章介绍了二维数据表DataFrame。本章将前几章的概念应用到新的数据结构中,并引入了额外的操作。
第5章展示了如何使用各种逻辑条件从DataFrame中过滤行的子集:相等、不等、比较、包含、排除等。
第Ⅱ部分,应用Pandas,重点介绍更高级的Pandas功能,以及如何利用这些功能解决现实世界数据集的问题。
第6章介绍了如何在Pandas中处理不完美的文本数据,讨论如何解决删除空格、查找和替换字符、字母大小写,以及从单个列中提取多个值等问题。
第7章讨论MultiIndex,它允许将多个列值组合成一行数据的单个标识符。
第8章描述了如何在数据透视表中聚合数据,将标题从行轴移到列轴,并将数据由宽格式转换为窄格式。
第9章探讨如何将行分组到桶中,并通过GroupBy对象对结果集合进行聚合。
第10章介绍使用各种连接将多个数据集合并为一个。
第11章演示了如何在Pandas中处理日期和时间。本章涵盖了排序日期、计算持续时间,以及确定日期是在一个月还是一个季度的开始等主题。
第12章展示了如何将其他文件类型导入Pandas,包括Excel和JSON,还讲解了如何从Pandas导出数据。
第13章侧重于配置库的设置。本章深入研究了如何修改显示的行数、更改浮点数的精度、将值舍入低于阈值等。
第14章探讨了如何使用Matplotlib库进行数据可视化,以及如何使用Pandas数据创建折线图、条形图、饼图等。
每章都建立在前一章的基础上。对于Pandas新手,我建议按照线性顺序阅读每个章节。同时,为了确保本书能够成为一本参考指南,我将每章都写成一个独立的教程,并带有自己的数据集。在每章的开头,都会从头开始编写代码,因此你也可以从自己喜欢的任何章节开始阅读本书。
大多数章节都以代码挑战结束,让你可以将概念应用于实践。我强烈建议你尝试一下这些代码挑战。
Pandas建立在Python编程语言的基础上,建议你在学习本书之前了解Python语言的基本知识。对于在Python方面经验有限的人,附录B提供了对该语言的详尽介绍。
关于代码
本书包含了很多源代码的例子。它们都是用等宽字体来格式化的,以区别于普通的文本。
本书示例的源代码可在GitHub存储库https://github.com/paskhaver/pandas-in-action中找到。不熟悉Git和GitHub的人,请在存储库页面上查找Download Zip按钮。有Git和GitHub经验的人可以从命令行来复制。另外,扫描本书封底的二维码也可下载本书示例的源代码。
存储库还包括文本形式的完整数据集。我学习Pandas时,最大的挫折之一就是使用的教程喜欢依赖随机生成的数据,没有一致性,没有背景,没有故事,没有乐趣。在本书中,我们将使用许多现实中的真实数据集,涵盖从篮球运动员的薪水到神奇宝贝的类型,再到餐厅健康检查的内容。数据无处不在,Pandas是当今分析数据的最佳工具之一。我希望你喜欢数据集并时刻保持关注。
liveBook论坛
购买《Pandas数据分析实战》可以免费访问由 Manning Publications 运营的私人网络论坛,可以在该论坛上对本书发表评论、提出技术问题,以及从作者和其他用户那里获得帮助。论坛地址为https://livebook.manning.com/#!/book/pandas-in-action/discussion。你还可以在https://livebook.manning.com/ #!/discussion上了解有关Manning论坛和行为规则的更多信息。
Manning对读者的承诺是提供一个场所,让读者之间,以及读者与作者之间能够进行有意义的对话。这不是作者对任何具体参与形式的次数的承诺,作者对论坛的贡献仍然是自愿的(和无偿的)。建议读者提出一些有挑战性的问题,以激发作者的兴趣!只要这本书还在印刷,就可以从出版社的网站上访问论坛和以前讨论的归档信息。
其他在线资源
● 官方Pandas文档可在https://pandas.pydata.org/docs获得。
● 在业余时间,我在Udemy上发布了技术视频课程。读者可以在https://www.udemy.com/ user/borispaskhaver上找到这些课程,其中包括20小时的Pandas课程和60小时的Python课程。
● 可随时通过Twitter(https://twitter.com/borispaskhaver)或LinkedIn(https://www.linkedin.com/ in/boris-paskhaver)与我联系。
|
|