Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

PyFirst

第八章:NumPy入门——数组运算与数值计算

在上一章你写了一个小游戏,那很有意思。但如果你想教计算机从数据中"学习"——比如识别一张图片里有没有猫——靠普通的 Python 列表是不够的。你需要一个能高效处理大量数字的工具。NumPy 就是为此而生。


8.1 什么是 NumPy?

NumPy(Numerical Python)是 Python 科学计算的基石。它提供的 ndarray(多维数组)比 Python 原生列表快几十倍,因为它用 C 语言在底层一次性操作整块数据。

Python
Loading editor...

向量化运算的意思是:一条指令同时处理整个数组中的所有元素。这就是 NumPy 快的原因。


8.2 创建数组

Python
Loading editor...
Python
Loading editor...

8.3 数组的形状与索引

Python
Loading editor...

8.4 广播(Broadcasting)——NumPy 的魔法

不同形状的数组也能一起运算,NumPy 会自动"扩展"它们。

Python
Loading editor...

💡 NumPy 发现 scores 是 (2,3) 而 bonus 是 (3,),它会自动把 bonus 复制一份变成 (2,3) 再相加。


8.5 统计与聚合

Python
Loading editor...
Python
Loading editor...

8.6 图像也能用数组表示

一张灰度图像本质上就是一个二维数组,每个元素代表一个像素的亮度。NumPy 让我们可以直接对图像做数学运算。

Python
Loading editor...

🎯 这就是计算机视觉的基础:一切图像都是数字矩阵。AI 识别猫狗的原理,本质上就是对这种数字矩阵做一系列数学变换。


本章小结

你学到了什么具体内容
✅ NumPy 数组`np.array()` 创建,向量化运算
✅ 数组创建`zeros`、`ones`、`arange`、`random`
✅ 形状操作`shape`、`ndim`、`size`、多维索引
✅ 广播机制不同形状数组自动扩展对齐
✅ 统计聚合`mean`、`sum`、`std`、`axis` 参数
✅ 图像思维图像 = 数字矩阵

🚀 下一章预告:有了 NumPy,你就能高效处理数值了。但现实世界的数据往往带有标签、有关联——接下来用 Pandas 玩转结构化数据!


本章内容基于 [NumPy 官方文档](https://numpy.org/doc/stable/) 改编,遵循 BSD License 许可。