7. 术语表与进阶资源
学习一门新技能,掌握其“行话”和知道去哪里寻找更高质量的信息至关重要。本章为你提供了一个核心术语的简单解释,并为你整理了一份精心挑选的学习资源清单,助你从新手走向更高的水平。
一、核心术语表 (Glossary)
这里按字母顺序列出了本指南中反复出现的一些关键术语。理解它们的确切含义,将有助于你更清晰地思考和交流。
axis(轴)- 解释: 在 NumPy 和 Pandas 中,用于指定操作方向的参数。你可以把它想象成数据被“折叠”或“压缩”的方向。在一个二维表格(DataFrame)中,
axis=0通常指代沿着行操作(对每一列进行计算),而axis=1指代沿着列操作(对每一行进行计算)。
- 解释: 在 NumPy 和 Pandas 中,用于指定操作方向的参数。你可以把它想象成数据被“折叠”或“压缩”的方向。在一个二维表格(DataFrame)中,
- 广播 (Broadcasting)
- 解释: NumPy 的一项强大功能,允许在形状不同但兼容的数组之间执行算术运算。NumPy 会自动“扩展”较小的数组以匹配较大的数组,从而避免了显式的数据复制。
- 数组 (Array)
- 解释: 一个由相同类型的元素组成的网格状数据结构。在 NumPy 中,其核心就是
ndarray,它支持高效的数值计算。
- 解释: 一个由相同类型的元素组成的网格状数据结构。在 NumPy 中,其核心就是
- 坐标系/子图 (Axes)
- 解释:
Axes是画布上的一块区域,是实际绘图的地方,包含了坐标轴、刻度、图表本身等。一个Figure可以包含一个或多个Axes。
- 解释:
DataFrame- 解释: Pandas 的核心数据结构,一个二维的、带标签的表格,类似于 Excel 工作表或 SQL 数据表。它的列可以包含不同的数据类型。
dtype(数据类型)- 解释: “data type” 的缩写,描述了数组或 Series 中存储的是什么类型的数据,例如
int64(整数),float64(浮点数/小数),object(通常是字符串) 或datetime64(日期时间)。
- 解释: “data type” 的缩写,描述了数组或 Series 中存储的是什么类型的数据,例如
- 环境 (Environment)
- 解释: 一个独立的 Python 安装,它有自己的一套库和版本。使用环境(如 Anaconda 创建的环境)可以防止不同项目之间的库版本冲突,是一个非常好的工程实践。
- 特征工程 (Feature Engineering)
- 解释: 从原始数据中创建新的、更有用的特征(列)以改善数据分析或机器学习模型性能的过程。例如,从出生日期列中提取出年龄,或者从价格和数量中计算出总销售额,都属于特征工程。
- 画布 (Figure)
- 解释: 在 Matplotlib 中,
Figure是最顶层的容器,相当于一张空白的画布,所有图表元素都绘制在它上面。
- 解释: 在 Matplotlib 中,
- 分组聚合 (Group By)
- 解释: 一个强大的数据分析模式,遵循“拆分-应用-合并”(Split-Apply-Combine)的逻辑。它首先将数据按某个标准拆分成组,然后对每个组应用一个函数(如求和、求平均),最后将结果合并起来。
IDE(Integrated Development Environment)- 解释: 集成开发环境,是用于编写、运行和调试代码的软件。例如
VS Code和PyCharm。
- 解释: 集成开发环境,是用于编写、运行和调试代码的软件。例如
- 索引 (Index)
- 解释: Pandas 中用于标识行或列的标签。它让数据选择和对齐变得非常方便和直观。
- 库 (Library)
- 解释: 一个预先编写好的代码集合,提供了特定的功能,让我们可以“站在巨人的肩膀上”编程,而无需从零开始。例如,
NumPy、Pandas和Matplotlib都是功能强大的库。
- 解释: 一个预先编写好的代码集合,提供了特定的功能,让我们可以“站在巨人的肩膀上”编程,而无需从零开始。例如,
- 合并/连接 (Merge/Join/Concat)
- 解释: Pandas 中用于合并多个 DataFrame 的一组操作。
concat用于堆叠数据(垂直或水平),merge和join则基于共同的列或索引,实现类似 SQL 的数据库连接操作。
- 解释: Pandas 中用于合并多个 DataFrame 的一组操作。
NaN(Not a Number)- 解释: “非数字”的缩写,是 Pandas 和 NumPy 中用于表示缺失数据的标准标记。
Series- 解释: Pandas 的一维数据结构,可以看作是 DataFrame 中的一列,由数据和与之关联的索引组成。
shape(形状)- 解释: 一个描述数组或 DataFrame 维度的元组。例如,一个 10 行 5 列的 DataFrame,其
shape就是(10, 5)。
- 解释: 一个描述数组或 DataFrame 维度的元组。例如,一个 10 行 5 列的 DataFrame,其
ufunc(通用函数)- 解释: “Universal Function” 的缩写。这是 NumPy 中的一个术语,指的是能对整个数组中的每个元素进行操作的函数(例如
np.sin,np.sqrt)。它们是实现向量化计算的核心。
- 解释: “Universal Function” 的缩写。这是 NumPy 中的一个术语,指的是能对整个数组中的每个元素进行操作的函数(例如
- 向量化 (Vectorization)
- 解释: 指的是在整个数组上执行操作,而不是使用 Python 的
for循环逐个处理元素。这是 NumPy 和 Pandas 高性能的关键。代码更简洁,运行速度也快得多。
- 解释: 指的是在整个数组上执行操作,而不是使用 Python 的
- 数据可视化 (Data Visualization)
- 解释: 使用图表、图形等视觉元素来表示数据和信息的过程。其目的是为了更直观地发现数据中的模式、趋势和异常值。
二、进阶学习资源 (Further Resources)
当你完成了本指南的学习,并希望继续深入时,以下资源将非常有价值。
1. 官方文档(最权威的信息来源)
官方文档是最准确、最全面的学习资料。学会查阅官方文档是每个开发者的必备技能。
- NumPy 官方网站: 包含详细的用户指南、API 参考和教程。
- Pandas 官方网站: 提供了极佳的用户指南和丰富的示例。
- Matplotlib 官方网站: 它的 Gallery (画廊) 是学习和寻找绘图灵感的最佳去处。
2. 实用备忘单 (Cheat Sheets)
- Pandas Cheat Sheet: 由 Pandas 官方提供,一张纸总结了最核心、最常用的操作,非常适合打印出来放在手边随时查阅。
3. 在线课程与教程
- Kaggle Learn: Kaggle 是一个著名的数据科学竞赛平台,它提供了一系列名为“Micro-Courses”的免费、精简、交互式教程,其中 Pandas 和 Data Visualization 课程质量非常高,强烈推荐。
4. 书籍推荐
- 《利用 Python 进行数据分析》(Python for Data Analysis)by Wes McKinney
- 推荐理由: 这本书的作者正是 Pandas 库的创始人。没有比这更权威的 Pandas 学习书籍了。书中包含了大量实用的案例和技巧。请务必选择最新版(目前是第三版)。
5. 练习平台
理论学习后,必须通过实践来巩固。在这些平台上,你可以找到真实的数据集和问题来磨练你的技能。
- Kaggle: 除了课程,Kaggle 的核心是竞赛和数据集。你可以下载各种各样有趣的数据集(从泰坦尼克号乘客名单到房价预测),并尝试自己进行分析。阅读和学习其他高手分享的代码(Notebooks)是快速成长的捷径。
6. 相关包
- Seaborn: 一个基于 Matplotlib 的高级可视化库。它用更少的代码就能绘制出更美观、更具统计意义的图表(如热力图、小提琴图等)。如果你想让你的图表更上一层楼,Seaborn 是首选。
- Scikit-learn: 当你准备从数据分析迈向预测建模(机器学习)时,Scikit-learn 是 Python 世界里无可争议的标准库。它提供了从线性回归到复杂分类器、聚类、降维等一系列工具。