返回首页

Roadmap

第 2 章 索引与切片#

这一章要解决什么#

数组造好了,接下来就是从里面取数据。

但 NumPy 的取数方式有四种,每种返回的东西都不一样:

写法名字返回什么
arr[0]基础索引一个元素
arr[1:3]切片一段视图(可能改到原数组)
arr[[0, 2]]Fancy Indexing一个副本
arr[arr > 10]布尔掩码一个副本

初学者最大的困惑是:「我改了取出来的结果,为什么原数组也变了?」

答案就藏在「视图」和「副本」的差别里。这一章会把这个坑彻底讲透,让你以后写代码心里有底。

章节导航#

  • 第 2.1 节 核心知识点——基础索引、切片三件套(起始/结束/步长)、Fancy Indexing、布尔掩码、np.where 与 np.argwhere 找位置,以及视图与副本的真相。
  • 第 2.2 节 编程练习——5 道动手题,从「取第几个」一路到「多个条件同时筛选」。
  • 第 2.3 节 常见问题——10 个高频疑问,比如「为什么 arr[0] 拿到的不是数字」「切片到底包不包含末尾」。

预备知识#

  • 已经学过第 1 章,知道怎么造数组、怎么看 shape;
  • 知道 Python 列表的索引和切片;
  • 知道布尔表达式 a > 3 会得到一串 True/False。

本章的一句话主线 NumPy 的索引分成两类:切片给你「窗口」(视图), fancy index 和布尔掩码给你「复印件」(副本)。 想清楚自己要的是窗口还是复印件,就不会出错了。

本章内容

第2.1节 核心知识点(40分钟)

本文是 NumPy 数组计算实战课程第 2 章第 1 节,系统讲解 NumPy 中 5 个取数核心操作:基础索引与负数索引、切片的起始结束步长、Fancy Indexing 用整数数组一次性取多个元素、布尔掩码筛选与 …

第2.2节 编程练习(45分钟)

本文是 NumPy 数组计算实战课程第 2 章第 2 节,提供 5 道编程练习:用索引和切片提取指定位置的元素、用整数数组一次性选择多个元素、用布尔掩码筛选满足条件的元素、提取满足多个条件的数组元素,以及亲手验证「改切片会动原数组、改高级索 …

第2.3节 常见问题(30分钟)

本文是 NumPy 数组计算实战课程第 2 章第 3 节,汇总了初学者在 NumPy 取数时最常遇到的 10 个问题并逐一解答,涵盖索引为什么从 0 开始、如何访问二维数组的行列与单个元素、切片的起始结束步长各起什么作用、Fancy …