数组创建与属性
np.array()、np.zeros/ones/eye/arange/linspace、shape、dtype、ndim、size
数组创建与属性 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。
ndarray 数组
NumPy 的核心对象是 ndarray:存储在连续内存中的固定大小、同质数字网格。这种布局正是 NumPy 高速运行的原因。
import numpy as np
a = np.array([1, 2, 3, 4])
print(a) # [1 2 3 4]从嵌套列表创建
传入由列表组成的列表即可构建二维数组。NumPy 会根据其结构推断形状。
m = np.array([[1, 2, 3], [4, 5, 6]])
print(m)
# [[1 2 3]
# [4 5 6]]零数组与一数组
np.zeros 和 np.ones 会预先分配指定形状的数组,这是在填充数组前创建占位数组的标准方法。
print(np.zeros((2, 3))) # 2x3 of 0.0
print(np.ones(4)) # [1. 1. 1. 1.]使用 eye 创建单位矩阵
np.eye(n) 会构建一个 n×n 单位矩阵:对角线上是 1,其余位置是 0。它是线性代数的基础工具。
print(np.eye(3))
# [[1. 0. 0.]
# [0. 1. 0.]
# [0. 0. 1.]]使用 arange 创建范围
np.arange(start, stop, step) 的工作方式类似于 Python 的 range,但会返回数组,并且接受浮点步长。
print(np.arange(0, 10, 2)) # [0 2 4 6 8]
print(np.arange(0, 1, 0.25)) # [0. 0.25 0.5 0.75]使用 linspace 均匀取点
np.linspace(start, stop, num) 会返回 num 个间距相等的点,并包含两端点。它非常适合创建绘图坐标轴。
print(np.linspace(0, 1, 5)) # [0. 0.25 0.5 0.75 1. ]arange 与 linspace
已知点之间的步长时使用 arange;已知点的数量时使用 linspace。linspace 可以避免浮点步长误差不断累积。
# 50 points from 0 to 2*pi for a smooth curve
x = np.linspace(0, 2 * np.pi, 50)形状与维度数
.shape 是由各维度大小组成的元组;.ndim 是维度的数量。一个 2×3 数组的形状是 (2,3),ndim 为 2。
m = np.array([[1, 2, 3], [4, 5, 6]])
print(m.shape) # (2, 3)
print(m.ndim) # 2大小与数据类型
.size 是元素总数;.dtype 是元素的数据类型。NumPy 会自动选择高效的数值数据类型。
print(m.size) # 6
print(m.dtype) # int64元素大小与内存
.itemsize 是单个元素占用的字节数。将它乘以 .size,即可估算数组占用的内存。
print(m.itemsize) # 8 (bytes per int64)
print(m.size * m.itemsize) # 48 bytes total选择数据类型
您可以强制指定数据类型,以节省内存或确保精度。与 float64 相比,float32 可将内存占用减半。
a = np.array([1, 2, 3], dtype=np.float32)
print(a.dtype) # float32
print(a.itemsize) # 4快速检查
测试您对数组创建的理解。
总结
数组创建工具:
- 从列表创建
np.array,使用np.zeros/np.ones创建占位数组,使用np.eye创建单位矩阵 np.arange(按步长)与np.linspace(按数量)- 属性:
shape、ndim、size、dtype、itemsize
常见问题解答
「数组创建与属性」课时是免费的吗?
是的 — 「数组创建与属性」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。
「数组创建与属性」这节课中我会学到什么?
np.array()、np.zeros/ones/eye/arange/linspace、shape、dtype、ndim、size 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Learn AI with Python 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「数组创建与属性」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn AI with Python 课中编写并运行代码吗?
能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。