通过 8 个引导实验学习 NumPy,不仅掌握数组操作方法,也理解形状、数据类型和内存行为为何重要。你将编写并运行小型 Python 程序,从数组创建和索引逐步学习文件导入、广播、结构化数据与通用函数。
课程采用具体实验,而不是围绕一个大型项目展开。你会加载含缺失值的 CSV、比较视图与独立副本、测试兼容和不兼容的形状,并观察 NumPy 如何逐元素执行运算。这些实验将帮助你建立可靠的数组思维模型,为后续数值计算和数据处理打好基础。
你将学到什么
- 从 Python 序列、NumPy 构造函数和数据文件创建多维数组
- 使用切片、整数索引和布尔掩码选取及更新数组内容
- 使用
genfromtxt导入表格数据并处理表头、分隔符、列和缺失值 - 通过
dtype与astype检查、指定和转换 NumPy 数据类型 - 将广播规则应用于兼容形状,并识别形状不匹配问题
- 区分视图与副本,并通过数组的
base检查内存共享关系 - 在结构化数组和记录数组中定义及访问命名字段
- 使用通用函数完成逐元素运算、广播、归约、输出类型控制和自定义行为
本课程适合谁
本课程适合刚开始学习 NumPy 的 Python 学习者,也适合希望清晰理解数组行为的数据方向初学者。如果你已经能编写基础 Python,希望在进入大规模题集或基于 NumPy 的其他库之前获得系统引导,本课程尤其合适。
前置要求: 建议掌握列表、变量、条件语句以及运行脚本等 Python 基础知识。不要求具备 NumPy 使用经验。
学习环境: 每个实验都提供 Ubuntu 22.04 WebIDE、初始 Python 文件、终端以及练习所需的示例 CSV 数据。你将在浏览器中编辑和运行普通 .py 文件,无需在本地配置 NumPy。
常见问题
这是一门引导式课程,还是以挑战题为主?
课程包含 8 个引导实验,提供概念说明、可运行示例和分步编码任务,不包含独立的挑战实验,因此适合作为第一次系统学习 NumPy 的课程。
为什么课程会专门讲解副本与视图?
NumPy 切片可能与原数组共享内存,而高级索引通常会创建副本。理解两者的差异,能帮助你判断修改结果是否也会影响原始数据。
课程会处理从文件加载的数据吗?
会。你会用 loadtxt 读取简单 CSV,并深入使用 genfromtxt 跳过表头、选择列、指定类型和替换缺失值。
课程会教授 Pandas、机器学习或数据可视化吗?
不会。课程专注于 NumPy 数组及其行为,可为这些主题提供基础,但不涉及 DataFrame、预测模型或绘图工作流。





