批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!
¥ 133.84 7.5折 ¥ 179 全新
库存49件
作者[美]布莱恩·贝特曼 等著 熊爱华 译
出版社清华大学出版社
ISBN9787302663539
出版时间2024-06
装帧平装
开本16开
定价179元
货号29744050
上书时间2024-11-04
本书将告诉你如何利用数据提高工作效率并生成真实的业务洞察力,为你的决策提供信息。你将通过现实世界的数据科学问题获得指导,并了解如何在现实示例和练习的背景下应用一些关键技术。此外,本书各章还提供了一些作业,以帮助你巩固学习到的新技能,为实际的数据科学项目做好准备。
在本书中,你将看到经验丰富的数据科学家如何使用Pandas进行数据分析来解决各种问题。与其他Python书籍侧重于理论并花太多时间在枯燥的技术解释上不同,本书旨在让你快速编写干净的代码,通过动手实践建立你的理解。
在阅读本书时,你将处理各种现实世界应用场景,例如使用空气质量数据集了解城市中二氧化氮排放的模式,以及分析交通数据以改善公共汽车交通服务等。
通读完本书之后,你将获得数据分析知识、技能和信心,用Pandas解决具有挑战性的数据科学问题。
本书读者
本书适用于任何有使用Python编程语言经验并希望使用Pandas进行数据分析的学习者。本书不需要读者具有前置Pandas知识。
内容介绍
本书分为4篇,共14章。具体内容如下。
* 第1篇“Pandas基础知识”,包含第1~4章。
> 第1章“初识Pandas”,阐释Pandas为何会成为当今数据处理领域最流行的应用程序之一,以及为什么它是最受数据科学家欢迎的工具。本章简要介绍Pandas的许多通用功能。另外,本章还介绍本书将涵盖的所有主题,以及一些使用Pandas的介绍性练习。
> 第2章“数据结构”,介绍Pandas的一个关键优势,即它提供了与广泛的数据分析任务相一致的直观数据结构。本章的重点是介绍Pandas中的重要数据结构,尤其是DataFrame、Series和Pandas索引结构。
> 第3章“数据的输入和输出”,探讨Pandas提供的内置函数,这些函数用于从各种来源读取数据,以及将数据写回或写入新文件中。另外,本章还介绍所有重要的受支持的输入/输出方法。
> 第4章“Pandas数据类型”,解释为什么在使用Pandas进行数据分析时,使用正确的数据类型至关重要,否则可能会出现意外结果或错误。本章的重点是了解Pandas数据类型以及如何使用它们。
* 第2篇“处理数据”,包含第5~8章。
> 第5章“数据选择—DataFrame”,在你已经掌握了Pandas中可用的数据结构和方法的基础上,深入探讨DataFrame的使用。
> 第6章“数据选择—Series”,重点介绍使用Pandas Series时的一些重要区别,并且是第5章“数据选择—DataFrame”的补充。
> 第7章“数据探索和转换”,讨论在数据集质量不佳时如何面对这一挑战。另外,本章还讨论如何使用Pandas来解决这些挑战并为你的分析做好准备。
> 第8章“理解数据可视化”,讨论Pandas如何提供内置的数据可视化方法来加速数据分析。另外,本章还讨论如何从DataFrame中构建数据可视化,以及如何使用Matplotlib进一步自定义它们。
* 第3篇“数据建模”,包含第9~11章。
> 第9章“数据建模—预处理”,帮助你了解如何在Pandas中进行一些初步的数据审查和分析,以及一些对成功建模很重要的转换。
> 第10章“数据建模—有关建模的基础知识”,介绍一些强大的Pandas方法,这些方法可以对数据进行重采样和平滑处理,以找到可用于更复杂建模任务的模式并获得洞察力。
> 第11章“数据建模—回归建模”,重点介绍一种主力方法—回归建模。这是使用模型理解数据和进行预测的重要步骤。到该章结束时,你将能够使用回归模型处理复杂的多变量数据集。
* 第4篇“其他Pandas用例”,包括第12~14章。
> 第12章“在Pandas中使用时间”,描述Pandas支持的另一种数据类型:时间序列数据。本章重点介绍Pandas如何提供各种方法来处理按日期和/或时间组织的数据。在本章中,你将学习如何对时间戳进行操作,并了解Pandas提供的所有其他与时间相关的属性。
> 第13章“探索时间序列”,重点介绍如何使用时间序列索引对时间序列数据执行操作以获得洞察力。到本章结束时,你将掌握对时间序列数据应用回归建模的技巧。
> 第14章“Pandas数据处理案例研究”,帮助你将在本书中学习到的有关Pandas的知识应用于实际的数据分析问题。本章涵盖三个案例研究,在这三个案例研究中,你将应用你通过本书获得的大部分技能。
最后,本书附录部分还提供了各章作业的答案。
充分利用本书
本书假设你具备良好的Python基础知识,尤其是使用Jupyter Notebook创建代码的能力。你需要在本地计算机上设置Python环境,包括Jupyter Notebook,当然还有Pandas。根据创建本地环境的方式,你可能需要安装其他依赖项。完整列表可在本书配套GitHub存储库中的requirements.txt文件中找到。
本书涵盖的软硬件和操作系统需求如表P.1所示。
表P.1 本书涵盖的软硬件和操作系统需求
本书涵盖的软硬件 操作系统需求 Python 9.x Windows、macOS或Linux Jupyter 1.0.0 Pandas 1.3 Matplotlib 3.3 如果你正在使用本书的数字版本,我们建议你自己输入代码或从本书的GitHub存储库中访问代码(后续提供链接地址)。这样做将帮助你避免与复制和粘贴代码相关的任何潜在错误。
构建开发环境
Pandas是用于Python编程语言的第三方程序包,本书使用的版本为1.3。本书中的所有示例都应该可以在Python 9.x版本中正常工作。
你可以通过多种方式在计算机上安装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
下载示例代码文件
本书提供的代码可以在本书配套GitHub存储库中找到,其网址如下:
https://github.com/PacktPublishing/The-Pandas-Workshop
代码如果有更新,那么将在该GitHub存储库中被更新。
下载彩色图像
我们还提供了一个PDF文件,其中包含本书中使用的屏幕截图/图表的彩色图像。你可以通过以下网址进行下载:
https://static.packt-cdn.com/downloads/9781800208933_ColorImages.pdf
本书约定
本书中使用了许多文本约定。
(1)代码格式的文本:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄等。以下段落就是一个示例:
请注意将上述示例中加粗显示的路径替换为你自己下载和保存文件的路径。dog_food_orders. csv文件的下载地址如下:
https://github.com/PacktWorkshops/The-Pandas-Workshop/blob/
master/Chapter02/Datasets/dog_food_orders.csv
(2)有关代码块的设置如下:
lin_model = sm.OLS(metal_data['alloy_hardness'], X)
my_model = lin_model.fit()
print(my_model.summary())
(3)当我们希望提请你注意代码块的特定部分时,相关行或项目将加粗进行显示:
import pandas as pd
my_data = pd.read_csv('Datasets/auto-mpg.data.csv')
my_data.head()x1 and x2: -0.9335045017430936
(4)术语或重要单词采用中英文对照形式,在括号内保留其英文原文。示例如下:
可以想见,我们可以收集很多数据来描述一个学生—包括他们的年龄、身高和体重等。用于描述一个特定观察单位的一个或多个测量值被称为数据点(data point),数据点中的每个测量值被称为变量(variable),这通常也被称为特征(feature)。它们实际上就是数据集中的列。
(5)对于界面词汇或专有名词,我们将保留其英文原文,并在括号内添加其中文翻译。示例如下:
可以看到mean(平均值)为0,std(标准差)为 1。但是,请注意,它们的min(最小值)和max(最大值)并不完全相同,这是因为 .StandardScaler()将对散布的量进行编码,并通过缩放到固定的标准偏差而不是最小值和最大值来保留点对点关系。
(6)本书还使用了以下两个图标。
表示警告或重要的注意事项。
表示提示信息或操作小技巧。
·VIII·
Pandas实战
·IX·
前 言
《Pandas实战》详细阐述了与Pandas数据分析相关的基本知识,主要包括数据结构、数据的输入和输出、Pandas数据类型、数据选择、数据探索和转换、理解数据可视化、数据建模、在Pandas中使用时间、探索时间序列、Pandas数据处理案例研究等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
布莱恩·贝特曼拥有超过35年的多个行业的工作经验,从政府研发机构到初创企业再到价值10亿美元的上市公司,他都有任职经历。他的经验侧重于分析,包括机器学习和预测。他的实践能力包括Python和R编码、Keras/TensorFlow以及AWS和Azure机器学习服务。作为机器学习顾问,他开发并部署了工业中实际的机器学习模型。
第1篇 Pandas基础知识
第1章 初识Pandas 3
1.1 Pandas世界介绍 3
1.2 探索Pandas的历史和演变 4
1.3 Pandas的组件和应用 4
1.4 了解Pandas的基本概念 5
1.4.1 Series对象 7
1.4.2 DataFrame对象 8
1.4.3 使用本地文件 11
1.4.4 读取CSV文件 12
1.4.5 显示数据快照 12
1.4.6 将数据写入文件中 13
1.4.7 练习1.1—使用Pandas读取和写入数据 13
1.4.8 Pandas中的数据类型 15
1.4.9 数据选择 18
1.4.10 数据转换 20
1.4.11 数据可视化 20
1.4.12 时间序列数据 22
1.4.13 代码优化 24
1.4.14 实用工具函数 25
1.4.15 练习1.2—使用Pandas进行基本数值运算 29
1.4.16 数据建模 36
1.4.17 练习1.3—比较两个DataFrame的数据 37
1.5 作业1.1—比较两家商店的销售数据 44
1.6 小结 45
第2章 数据结构 47
2.1 数据结构简介 47
2.2 对数据结构的需求 48
2.2.1 数据结构 49
2.2.2 在Pandas中创建DataFrame 50
2.2.3 练习2.1—创建DataFrame 56
2.3 了解索引和列 58
2.3.1 练习2.2—读取DataFrame并进行索引操作 65
2.3.2 使用列 69
2.4 使用Pandas Series 71
2.4.1 Series索引 72
2.4.2 练习2.3—从Series到DataFrame 76
2.4.3 使用时间作为索引 80
2.4.4 练习2.4—DataFrame索引 83
2.5 作业2.1—使用Pandas数据结构 86
2.6 小结 87
第3章 数据的输入和输出 89
3.1 数据世界 89
3.2 探索数据源 93
3.2.1 文本文件和二进制文件 93
3.2.2 在线数据源 95
3.2.3 练习3.1—从网页中读取数据 97
3.3 基本格式 99
3.3.1 文本数据 99
3.3.2 练习3.2—文本字符编码和数据分隔符 109
3.3.3 二进制数据 111
3.3.4 数据库—SQL数据 112
3.3.5 sqlite3 113
3.4 其他文本格式 114
3.4.1 使用JSON 115
3.4.2 使用HTML/XML 118
3.4.3 使用XML数据 120
3.4.4 使用Excel 122
3.4.5 SAS数据 125
3.4.6 SPSS数据 126
3.4.7 Stata数据 127
3.4.8 HDF5数据 128
3.5 操作SQL数据 129
3.5.1 使用Pandas操作数据库 129
3.5.2 练习3.3—使用SQL 134
3.5.3 为项目选择格式 138
3.6 作业3.1—使用SQL数据进行Pandas分析 139
3.7 小结 140
第4章 Pandas数据类型 141
4.1 Pandas dtypes简介 141
4.1.1 了解基础数据类型 141
4.1.2 从一种类型转换为另一种类型 145
4.1.3 练习4.1—基础数据类型和转换 149
4.2 缺失数据类型 156
4.2.1 缺失值的表示 156
4.2.2 可为空类型 157
4.2.3 练习4.2—将缺失数据转换为不可为空的数据类型 159
4.3 作业4.1—通过转换为适当的数据类型来优化内存使用 163
4.4 按数据类型创建子集 164
4.4.1 字符串方法 164
4.4.2 使用category类型 167
4.4.3 使用dtype = datetime64[ns] 169
4.4.4 使用dtype = timedelta64[ns] 174
4.4.5 练习4.3—使用字符串方法处理文本数据 175
4.4.6 按数据的dtype在DataFrame中选择数据 178
4.5 小结 181
第2篇 处 理 数 据
第5章 数据选择—DataFrame 185
5.1 DataFrame简介 185
5.1.1 Pandas DataFrame操作的关联性 185
5.1.2 对数据选择方法的需求 186
5.2 Pandas DataFrame中的数据选择 187
5.2.1 索引及其形式 189
5.2.2 练习5.1—识别数据集中的行和列索引 191
5.2.3 保存索引或列 193
5.2.4 切片和索引方法 194
5.2.5 布尔索引 203
5.2.6 练习5.2—创建行和列的子集 204
5.2.7 使用标签作为索引和Pandas多级索引 206
5.2.8 从列中创建多级索引 211
5.3 作业5.1—从列中创建多级索引 214
5.4 括号和点表示法 216
5.4.1 括号表示法 216
5.4.2 点表示法 216
5.4.3 选择整列 217
5.4.4 选择一个行范围 219
5.4.5 练习5.3—整数行号与标签 220
5.4.6 使用扩展索引 223
5.4.7 类型异常 226
5.5 使用括号或点表示法更改DataFrame值 228
5.5.1 使用括号表示法轻松修改数据 228
5.5.2 链式操作可能产生的问题及其解决方案 229
5.5.3 练习5.4—使用括号和点表示法选择数据 232
5.6 小结 236
第6章 数据选择—Series 237
6.1 Pandas Series介绍 237
6.2 Series索引 237
6.2.1 Pandas Series中的数据选择 239
6.2.2 括号表示法、点表示法、Series.loc和Series.iloc 239
6.2.3 练习6.1—基本Series数据选择 243
6.3 从DataFrame中创建Series或从Series中获取DataFrame 246
6.3.1 从DataFrame中创建Series 246
6.3.2 从Series中获取DataFrame 248
6.3.3 练习6.2—使用Series索引选择值 251
6.4 作业6.1—Series数据选择 255
6.5 了解基础Python和Pandas数据选择之间的差异 256
6.5.1 列表与Series访问 256
6.5.2 DataFrame与字典访问 257
6.6 作业6.
— 没有更多了 —
以下为对购买帮助不大的评价