numpy-100 新手速查清单:zeros、arange、reshape、nonzero 等10个最高频NumPy函数用法大全
【免费下载链接】numpy-100100 numpy exercises (with solutions)项目地址: https://gitcode.com/gh_mirrors/nu/numpy-100
numpy-100 是一个包含 100 道 NumPy 练习题(附提示与完整答案)的开源练习仓库,它把邮件列表、Stack Overflow 和官方文档中的经典问题汇编成册,目标就是给新老用户一本即查即用的 NumPy 函数速查手册。下面这份清单从这 100 道题中提炼出10 个出现频率最高、最值得背下来的 NumPy 函数,每个函数配一个最小示例和对应的原题位置,帮你用最短时间建立函数索引。
准备工作:5 分钟搭好 NumPy 练习环境
仓库是只读的,先克隆到本地再练习:
git clone https://gitcode.com/gh_mirrors/nu/numpy-100依赖非常轻,安装 requirements.txt 中的numpy、pandas、jupyter即可。仓库中的 Markdown 和 Jupyter 练习本都是从 source/exercises100.ktx 源数据由 generators.py 程序化生成的,题目带 ★ 难度星级(★☆☆ 入门 → ★★★ 进阶),非常适合新手按星推进。
10 个最高频 NumPy 函数速查表
| # | 函数 | 一句话用途 | 典型原题 |
|---|---|---|---|
| 1 | np.zeros | 创建全零数组 | 题 3、6 |
| 2 | np.arange | 生成等差整数序列 | 题 7 |
| 3 | np.reshape | 重塑数组形状 | 题 9 |
| 4 | np.nonzero | 找出非零元素下标 | 题 10 |
| 5 | np.eye | 创建单位矩阵 | 题 11 |
| 6 | np.linspace | 生成等间距数值序列 | 题 39 |
| 7 | np.random | 生成随机数组 | 题 12–14 |
| 8 | Z.sort() | 数组原地排序 | 题 40 |
| 9 | np.where | 条件筛选/三目替换 | 题 29 |
| 10 | Z.mean()/np.std | 均值与标准化 | 题 14、22 |
逐个速查:最小示例 + 对应原题
1.np.zeros:一行代码创建全零数组
创建全零数组,是初始化占位、掩码、累积结果的起点:
Z = np.zeros(10) # 一维全零向量 Z[4] = 1 # 第五个位置改成 1👉 对应原题:第 3 题 创建空向量、第 6 题 仅第 5 位为 1,答案见 100_Numpy_exercises_with_solutions.md。
2.np.arange:生成 10 到 49 的整数向量
和range类似但返回数组,支持浮点步长,是构造索引和序列的高频工具:
Z = np.arange(10, 50) # [10, 11, ..., 49]👉 对应原题:第 7 题 创建 10–49 的向量,答案见 100_Numpy_exercises_with_solutions.md。
3.np.reshape:把一维序列折成 3x3 矩阵
reshape不改变数据,只改变"看"的形状,是矩阵题里出镜率最高的方法:
Z = np.arange(9).reshape(3, 3) # 0..8 折成 3x3👉 对应原题:第 9 题 创建 3x3 矩阵,答案见 100_Numpy_exercises_with_solutions.md。
4.np.nonzero:定位所有非零元素的下标
过滤、统计、稀疏操作都靠它返回"哪些位置不是 0":
nz = np.nonzero([1, 2, 0, 0, 4, 0]) # 返回下标元组 (0, 1, 4)👉 对应原题:第 10 题 找非零元素下标,答案见 100_Numpy_exercises_with_solutions.md。
5.np.eye:一步生成单位矩阵
线性代数、归一化、矩阵运算的标配起点:
Z = np.eye(3) # 3x3 单位矩阵👉 对应原题:第 11 题 创建 3x3 单位矩阵,答案见 100_Numpy_exercises_with_solutions.md。
6.np.linspace:在 0 到 1 之间均匀取 11 个点
绘图、采样、划分区间时用它比arange更精确(含端点可控):
Z = np.linspace(0, 1, 11)👉 仓库中它被广泛用于网格化题目,可参考 100_Numpy_exercises_with_solutions.md 的meshgrid组合用法。
7.np.random:随机数组是 100 题的"万能素材"
生成均匀分布随机数组,配合min()/max()/mean()做统计:
Z = np.random.random((10, 10)) Zmin, Zmax = Z.min(), Z.max() m = np.random.random(30).mean()👉 对应原题:第 12–14 题 随机数组三件套,答案见 100_Numpy_exercises_with_solutions.md。
8.Z.sort():原地排序,一行搞定
Z = np.random.random(10) Z.sort() # 原地升序👉 对应原题:第 40 题 随机向量排序,答案见 100_Numpy_exercises_with_solutions.md。进阶玩法见第 59 题"按第 n 列排序"(★★☆)。
9.np.where:满足条件取一个值,否则取另一个
条件表达式、整数部分提取的"三目运算符":
np.where(Z > 0, np.ceil(Z), np.floor(Z))👉 相关答案见 100_Numpy_exercises_with_solutions.md。
10.mean/std:均值统计与矩阵标准化
Z = np.random.random((5, 5)) Z = (Z - Z.mean()) / Z.std() # 标准化:均值 0、标准差 1👉 对应原题:第 14 题 求随机向量均值 与 第 22 题 归一化 5x5 矩阵,答案见 100_Numpy_exercises_with_solutions.md。
如何练习:按版本挑选适合你的练习册
仓库提供了 4 个版本的练习文档,建议按"先题后答"的顺序使用:
| 文件 | 用途 |
|---|---|
| 100_Numpy_exercises.md | 纯题目,适合自测 |
| 100_Numpy_exercises_with_hints.md | 题目 + 提示,卡壳时用 |
| 100_Numpy_exercises_with_solutions.md | 题目 + 完整答案 |
| 100_Numpy_exercises_with_hints_with_solutions.md | 题目 + 提示 + 答案全包含 |
想动手交互练习?直接打开 100_Numpy_exercises.ipynb 在 Jupyter 里逐题作答,或用 100_Numpy_random.ipynb 随机抽题自测——抽题逻辑见 initialise.py 中的pick()函数。
小结:从速查到熟练的三步路径
- 先背 10 个:
zeros、arange、reshape、nonzero、eye、linspace、random、sort、where、mean/std——本清单覆盖它们的最小用法; - 再做 ★☆☆ 题:约前 35 道入门题(题目列表),巩固数组创建、索引与基础统计;
- 挑 ★★★ 题挑战:如第 84 题"提取 3x3 连续块"、第 100 题"Bootstrap 置信区间",把单个函数组合成真实数据处理技能。
100 道题、10 个高频函数,一份速查清单加 100 道实战练习,就是 numpy-100 给你的最短 NumPy 学习路线 🚀
【免费下载链接】numpy-100100 numpy exercises (with solutions)项目地址: https://gitcode.com/gh_mirrors/nu/numpy-100
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考