1.6 快速浏览本书
如果你从未使用Python编程,你需要在第2章和第3章上花些时间,这两章我提供了一份关于Python语言特征、IPython命令行和Jupyter notebook的教程。这些内容是本书后续章节所需的预备知识。如果已经有Python经验,你可以跳过这两章。
下一章,我会简单介绍NumPy的关键特性,并在附录A中提供高级的NumPy使用技术。之后,我会介绍pandas,并将本书后续内容集中于应用pandas、NumPy和matplotlib(可视化)进行数据分析的主题上。我已经尽可能地按照递增的方式来组织全书的内容,但在部分章节中偶尔还是会有些细微的交叉,比如一些还不需要引入概念的独立场景。
尽管读者们可能会有很多不同的工作目的,但工作任务大体上会分为以下几个部分。
与外部世界交互
读写各种格式的文件以及数据存储
准备
对分析数据进行清洗、处理、联合、正态化、重组、切片、切块和转换
转换
将数学或统计操作应用到数据集的分组上以产生新的数据集(例如通过分组参数对一张大表进行聚合)
建模和计算
将数据接入到统计模型、机器学习算法和其他计算工具上
演示
创建动态或静态的图形可视化或文字概述
1.6.1 代码示例
本书大部分代码示例会按照IPython或Jupyter notebook中的形式用输入In和输出Out展现:
In [5]: CODE EXAMPLE Out[5]: OUTPUT
当你看到这样的代码示例时,其用意就是让你将示例代码输入到In区,然后按下回车键执行代码(Jupyter中按下shift-Enter),然后输出结果展现在Out区。
1.6.2 示例数据
每章的示例数据托管在GitHub仓库(http://github.com/wesm/pydata-book)上。你可以在命令行中使用Git版本控制系统下载这些数据,也可以直接从GitHub网站上下载数据的zip打包文件。如果你遇到了问题,请在我个人网站(http://wesmckinney.com)上获取关于如何获得本书资料的最新指引。
我已经尽了最大的努力保障这包含了复现示例所需的所有事项,但可能还有一些错误或遗漏。如果发现了错误或遗漏,请给我发邮件:book@wesmckinney.com。报告本书错误的最佳途径位于O'Reilly网站上的勘误页(http://bit.ly/pyDataAnalysis_errata)。
1.6.3 导入约定
Python社区对一些常用模块采用了命名约定:
import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns import statsmodels as sm
这意味着,当你看到np.arrange时,它引用的是NumPy中的arrange函数。这是因为一次性从像NumPy这样的大包中引入所有内容(from numpy import *)在Python软件开发中被认为是拙劣实践。
1.6.4 术语
我会使用编程和数据科学中的一些术语,这些术语你可能不熟悉,以下是一些简单的定义。
处理/处置/规整(munge/munging/wrangling)
描述的是将非结构化或者同时又很凌乱的数据整理成结构化、清晰形式的整个过程。时下,这个词在很多数据骇客中流传。在英文中,“Munge”(处理)和“grunge”(垃圾)谐音。
伪代码
用一种类似代码的形式描述算法或者过程,而事实上又不是实际有效的源代码。
语法糖
并不增加新特性,但便利于代码编写的编程语法。