形状、大小与 dtype
了解数组的结构
形状、大小与 dtype 是 CoddyKit 上的免费 Data Science Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Data Science Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Data Science Academy 课程共包含 4 节课。
读取数组的结构
每个数组都携带描述自身的元数据。三个标签几乎可以告诉您所有重要信息:它的形状、大小和数据类型。让我们逐一了解。🔍
形状:行和列
形状是各维度长度组成的元组。一个 3×4 的网格会报告 (3, 4):向下有三行,横向有四列。
a = np.zeros((3, 4))
a.shape # (3, 4)形状告诉您布局
形状是您首先应进行的合理性检查。如果模型需要 (100, 5),而您提供的是 (5, 100),那么形状不匹配就是错误的藏身之处。
ndim:维度数量
ndim属性会统计维度数量。一行数据是 1,表格是 2,表格堆叠起来是 3。它其实就是形状的长度。
a.ndim # 2大小:元素总数
大小是元素总数,也就是形状中每个数值的乘积。形状为 (3, 4) 的数组大小为 12。
a.size # 12数据类型:共享的单一类型
数据类型表示所有元素共享的单一类型,例如 int64 或 float64。它会影响精度和内存使用量。
np.array([1, 2, 3]).dtype # int64有意识地选择数据类型
您可以通过 dtype 参数自行设置类型。在超大数组中,可以使用int32这样的较小类型来节省内存。
np.array([1, 2, 3], dtype='int32')数据类型会影响精度
float32 能保存的小数位少于float64。微小的舍入误差会逐渐累积,因此请根据数字的实际需求选择类型。
使用 astype 进行转换
已经有一个数组了吗?astype会以新类型返回一个副本,适合将浮点数转换为整洁的整数。
f = np.array([1.0, 2.0])
f.astype('int64')itemsize:每个元素占用的字节数
itemsize会告诉您每个元素占用多少字节。将它乘以大小,即可估算数组占用的总内存。
a.itemsize # 8 for float64计算前先检查
先检查形状和数据类型可以节省数小时。它们能在计算悄悄出错之前,就揭示不匹配的数据和错误类型。✅
快速检查
让我们测试一下您对数组形状的理解。
回顾
现在,您可以一眼读懂数组:用形状了解布局,用 ndim 和大小了解数量,用数据类型了解共享类型。这四项检查可以及早发现大多数错误。🎉
常见问题解答
「形状、大小与 dtype」课时是免费的吗?
是的 — 「形状、大小与 dtype」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Data Science Academy 课程的其余内容,请升级到 CoddyKit PRO。 Data Science Academy 课程共包含 4 节课。
「形状、大小与 dtype」这节课中我会学到什么?
了解数组的结构 你通过在浏览器中直接运行的动手代码来练习 Data Science Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Data Science Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Data Science Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「形状、大小与 dtype」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Data Science Academy 课中编写并运行代码吗?
能。每节 Data Science Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 从 Python 列表到 ndarray
- 形状、大小与 dtype
- 无需循环的向量化数学运算
- 数组索引与切片