第3章 数组的创建与dtype体系


文档摘要

第3章 · 数组的创建与dtype体系 本章要回答的三个问题:array、zeros、arange、linspace、random 这些创建函数各适合什么场景、默认 dtype 是什么?dtype 体系怎么读(int32 与 float64 差在哪),转型规则里有哪些静默坑?创建阶段的哪些选择会决定后面所有代码的内存与速度? 为什么会有这一章 第 2 章建立了"数据块 + 描述字段"的模型,本章回到数组的出生现场。创建函数看似最简单,实际是 dtype 事故的第一现场:两个 int32 数组相加在 Windows 上突然变 int32 溢出、整数除法悄悄丢小数、float 数组塞进 None 炸出 object 类型——这些问题全部可以在创建阶段用一行 dtype 参数消掉。

第3章 · 数组的创建与dtype体系

本章要回答的三个问题:array、zeros、arange、linspace、random 这些创建函数各适合什么场景、默认 dtype 是什么?dtype 体系怎么读(int32 与 float64 差在哪),转型规则里有哪些静默坑?创建阶段的哪些选择会决定后面所有代码的内存与速度?

为什么会有这一章

第 2 章建立了"数据块 + 描述字段"的模型,本章回到数组的出生现场。创建函数看似最简单,实际是 dtype 事故的第一现场:两个 int32 数组相加在 Windows 上突然变 int32 溢出、整数除法悄悄丢小数、float 数组塞进 None 炸出 object 类型——这些问题全部可以在创建阶段用一行 dtype 参数消掉。同时,zeros、empty、arange 的"是否初始化内存"各有讲究,empty 的快是有代价的。

本章三节:先横向对比创建路径,再纵深讲 dtype 与转型,最后补齐序列生成与随机数填充。

读完能解决什么

  • 能按"已知全部数值 / 占位后填充 / 等差序列 / 随机模拟"四类需求直接选对创建函数
  • 能读懂任意 dtype 名(如 float32、complex128),并按精度与内存做取舍
  • 能识别 safe 与 same_kind 转型差异,堵住静默截断
  • 会用新式 Generator 随机接口并固定种子复现实验

各节怎么分工

回答哪个问题 关键产出
3.1 五种常用创建路径对比 选哪个函数 场景到函数的决策表
3.2 dtype家族与安全转型 类型怎么选怎么转 dtype 字宽表 + casting 坑演示
3.3 arange-linspace与随机数填充 序列与随机怎么造 三种序列对比 + Generator 用法

本章知识点清单

  1. 能按"数值已知、占位填充、等差序列、随机模拟"四类需求直接说出对应的创建函数
  2. 能说出 zeros 与 empty 的初始化差异,以及 empty 只在立即全量覆写时使用的纪律
  3. 能解释 *_like 家族继承形状与 dtype 的价值
  4. 能读懂 int8 到 complex128 的命名规则,并按需求在内存与精度间做取舍
  5. 能说出 astype 必然拷贝的原因,以及浮转整"向零截断"的行为
  6. 能演示 int64 转 int8 的静默溢出环绕,并写出带范围检查的安全转型函数
  7. 能解释 arange 与 linspace 的分工,说明浮点步长为什么禁用 arange
  8. 能用 default_rng 固定种子复现随机序列,并用 integers 的 endpoint 参数避开边界陷阱

开读前三个疑问

问:创建函数十几个,背不下来怎么办?
答:不需要全背,记住四类需求的映射就够了——数值已知 array、占位 zeros 家族、等差 arange 与 linspace、随机 Generator。剩下的都是这四类的变体,用时查文档两分钟搞定。

问:dtype 那么多种,平时用哪几个?
答:九成场景就三个:int64、float64、bool。其余类型出现在特定领域——图像用 uint8、深度学习用 float32、音频用 int16——遇到对应领域自然会用到。

问:astype 不是随便转吗,有什么好讲的?
答:浮点转整数是截断、宽整型转窄整型会环绕、转型必产生拷贝——这三条每一条都制造过真实事故。3.2 节的三个案例都是从故障里提炼的。

先决条件

  • 第 1 章的 dtype 与 itemsize 概念
  • 第 2 章的视图拷贝概念(3.2 节的 astype 拷贝结论依赖它)

往下走到哪

数组造好之后的第一件事就是取数。第 4 章用"视图还是拷贝"的尺子逐个检查索引与切片操作——你会发现本章创建的数组,正是下一章所有实验的原材料。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U