各章内容简介
· 第 1 章 Python 基础
这一章介绍如何创建和运行 Python 脚本。该章的重点在于 Python 的基本语法和元素,你需要了解它们,才能学习后面的章节。例如,讨论像数值和字符串这样的基本数据类型,以及如何对它们进行操作;介绍主要的数据容器(列表、元组和字典),以及使用它们存储和操作数据的方法;介绍如何处理日期型数据,因为商业分析中经常出现日期。另外,还会讨论一些编程概念,比如控制流、函数和异常,它们是在编码中体现业务逻辑以及优雅地进行错误处理的重要元素。最后将介绍如何使计算机读入一个和多个文本文件,并且写回到 CSV 格式的输出文件中。这些技术对于访问输入数据和保存特定的输出数据都是非常重要的,后续章节会更深入地讨论这些问题。
· 第 2 章 CSV 文件
这一章介绍如何读写 CSV 文件。首先介绍在不使用 Python 内置的 csv 模块情况下“手动”解析 CSV 格式的输入文件的一个例子。随后说明这种解析方法的潜在问题,并通过一个示例说明使用 Python 的 csv 模块解析 CSV 文件如何能避免这些问题。然后讨论如何使用 3 种不同类型的条件逻辑从输入文件中筛选出特定的行,将它们写入 CSV 格式的输出文件。接着给出两种不同的方法,以筛选出特定的列,并将它们写入输出文件。在介绍了如何读取和解析单个 CSV 格式的输入文件后,进一步讨论如何读取和处理多个 CSV 文件。这一节中的示例包括为每个输入文件提供摘要信息,从多个输入文件中连接数据,以及为每个输入文件计算基本的统计量。这一章最后将介绍两个不太常用的过程示例,包括选择一组连续的行和为数据集添加标题行。
· 第 3 章 Excel 文件
这一章讨论如何使用可下载的扩展模块 xlrd 读取 Excel 工作簿。首先介绍一个 Excel 工作簿示例(也就是说明工作簿中包含多少个工作表,每个工作表的名称,每个工作表中行与列的数量)。因为 Excel 将日期保存为数值型数据,所以下一节介绍如何使用一系列函数将日期格式化,以使它们显示为日期形式而不是数值形式。然后,讨论如何使用 3 种不同类型的条件逻辑从单个工作表中筛选出特定的行,再将它们写入 CSV 格式的输出文件。在此之后,介绍两种不同的方式来筛选特定的列并写入输出文件。在介绍了如何读取和解析单个工作表之后,进一步讨论如何读取和处理工作簿中所有的或者一部分工作表。这几节中的示例程序展示了如何在工作表中筛选特定的行与列。在讨论了如何读取和分析单个工作簿中的任意数目的工作表之后,进一步讨论如何读取和处理多个工作簿。这一节中的示例程序包括为每个工作簿提供摘要信息,从多个工作簿中连接数据,以及为每个工作簿计算基本的统计量。这一章最后将介绍两个不太常用的过程示例,包括选择一组连续的行和为数据集添加标题行。
· 第 4 章 数据库
这一章讨论如何在 Python 中执行基本的数据库操作。首先介绍如何使用 Python 内建的 sqlite3 模块,这样你就不需要安装任何额外的软件了。示例程序说明了如何执行最常用的数据库操作,包括创建数据库和数据表,从 CSV 格式的输入文件加载数据到数据库中的表,使用 CSV 格式的输入文件更新数据表中的记录,以及查询数据表。使用 sqlite3 模块时,数据库连接的细节和与 MySQL、PostgreSQL 和 Oracle 等其他数据库系统连接有轻微的差别。为了说明这种差别,这一章的第二部分演示了如何同 MySQL 数据库系统进行交互。如果你的计算机上没有 MySQL,那么需要先下载并安装。然后,具体操作的示例程序与 sqlite3 示例相对照,也包括创建数据库和数据表,从 CSV 格式的输入文件加载数据到数据库中的表,使用 CSV 格式的输入文件更新数据表中的记录,查询数据表,以及将查询结果写入 CSV 格式的输出文件。这一章两部分的示例合在一起,可以详细又完整地说明如何使用 Python 执行常用的数据库操作。
· 第 5 章 应用程序
这一章包含 3 个示例程序,演示了如何综合使用前面几章介绍的技术解决 3 个不同的问题,它们代表了一些常见的数据处理与分析任务。第一个应用程序介绍了如何在大量的 Excel 与 CSV 文件中找到特定的记录。可以想象,用计算机查询记录比手动查询要高效得多,也有趣得多。打开、搜索和关闭大量文件绝对不是一件有趣的事情,文件的数量越多,完成任务的难度就越大。因为这个问题涉及搜索 CSV 和 Excel 文件,所以示例程序会使用第 2 章和第 3 章中介绍的很多内容。
第二个应用程序介绍如何将数据通过分组或“装箱”划分到一个唯一的类别,并且为每个类别计算统计量。具体的例子就是对一个记录客户服务包购买的 CSV 文件[记录了客户在什么时间购买了特定的服务包(也就是铜牌服务包、银牌服务包和金牌服务包)]进行解析,然后将数据按客户姓名和服务包进行组织,通过相加计算出每个客户在每种服务包上花费的时间。这个示例使用了两个内建模块,创建了一个函数并将数据存储在字典中。字典在第 1 章中进行了介绍,但在第 2 章、第 3 章和第 4 章中都没有使用过。这个程序还引入了一种新的技术:记录下你刚处理过的行和正在处理的行,然后根据这两行的值计算出统计量。这两种技术(通过字典来分组或装箱数据,以及记录当前行和前一行)都非常强大,让你能够处理很多和时间相关的数据分析任务。
第三个应用程序介绍如何解析文本文件,将数据分组或装箱划分类别,然后按类别计算统计量。具体的例子是解析 MySQL 错误日志文件,按照日期和错误信息组织数据,然后计算出每种错误信息在每一天出现的次数。这个示例回顾了如何解析文本文件,这种技术在第 1 章中简要介绍过。这个示例也展示了如何将信息分别存储在列表和字典中,以用来创建输出文件的标题行和数据行;它还可以帮你回忆一下通过基本字符串操作来解析文本文件的方法。同时,这也是使用嵌套字典来分组或装箱数据以划分类别的一个绝好示例。
· 第 6 章 图与图表
在这一章中,你要学习如何使用 Python 创建常用的统计图和图表。你将使用 4 个制图库:matplotlib、pandas、ggplot 和 seaborn。首先使用 matplotlib,因为它历史悠久、资料丰富(实际上,pandas 和 seaborn 都是在 matplotlib 的基础上开发出来的)。matplotlib 一节介绍如何创建直方图、条形图、折线图、散点图和箱线图。pandas 一节讨论使用 pandas 简化语法来创建这些统计图的几种方式,并演示如何使用 pandas 创建统计图。ggplot 一节指出了这个库与 R 和图形语法在历史上的联系,并演示如何使用 ggplot 创建常用的统计图。最后,seaborn 一节讨论如何创建标准统计图,以及如何创建使用 matplotlib 难以创建的图表。
· 第 7 章 描述性统计与建模
这一章讨论如何生成标准摘要统计量,以及如何使用 pandas 和 statsmodels 包估计回归模型与分类模型。pandas 中有计算集中趋势测度(例如:均值、中位数和众数)的函数,也有计算分散程度(例如:方差和标准差)的函数,还有进行数据分组的函数用于轻松计算这些统计量。statsmodels 包中的函数可以估计多种类型的回归和分类模型。这一章介绍了如何基于 pandas 数据框中的数据建立多元线性回归和逻辑斯蒂分类模型,以及如何使用模型为新的输入数据预测输出值。
· 第 8 章 按计划自动运行脚本
这一章介绍如何在 Windows 和 macOS 系统上安排脚本定期自动运行。在这一章之前,脚本都是通过命令行方式手动运行的。在调试脚本和临时运行时,通过命令行手动运行脚本是非常方便的。但是,如果脚本需要定期运行(例如:每天、每周、每月或每个季度),或者需要定期运行很多脚本的话,手动运行就会非常麻烦。在 Windows 系统中,你可以创建任务计划来定期自动运行脚本。在 macOS 系统中,你需要创建定时任务,它可以实现同样的功能。这一章用若干屏幕截图展示了如何创建和运行任务计划和定时任务。通过安排脚本定期运行,你就不会忘记运行脚本,而且能够实现比通过命令行手动运行脚本更强大的功能。
· 第 9 章 从这里启航
最后一章介绍 Python 中其他的内置和扩展模块以及函数,它们对于数据处理与数据分析任务也是非常重要的。这一章还介绍了其他的数据结构。当你涉及本书之外的主题时,可能会遇到一些非常复杂的编程问题,而使用这些数据结构可以帮助你高效地解决问题。内置模块与函数是与 Python 安装程序捆绑在一起的,所以当你安装了 Python 之后,立刻就可以使用它们了。这一章讨论的内置模块包括 collections、random、statistics、itertools 和 operator,内置函数包括 enumerate、filter、reduce 和 zip。扩展模块没有包括在 Python 安装程序中,所以需要你单独下载并安装。这一章讨论的扩展模块包括 NumPy、SciPy 和 Scikit-Learn;另外还简单介绍了栈、队列、树和图等其他数据结构,来帮助你更加快速和高效地存储、处理和分析数据。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论