1
Amy 原创整理|资料核验:2026-10-31
【官方规则】NumPy 广播会从最右边的维度开始比较形状。两个维度相等,或其中一个为 1,才可兼容;缺少的前置维度可视为 1。广播不是简单地“让较短数组补到较长数组”。
【教学示例】一个形状为 (4, 1) 的数组与形状为 (3,) 的数组相加:最右维 1 与 3 兼容,左侧 4 与缺省的 1 兼容,结果形状是 (4, 3)。它不是长度为 4 的向量,也不是矩阵乘法的结果。
【Amy 的练习步骤】运算前先打印双方的 shape,在纸上把维度右对齐,再逐列检查“相同或有一方为 1”。最后写出预计结果形状,并与程序实际输出比较。这样更容易发现本想逐元素计算,却意外得到二维结果的错误。
广播常能避免为了匹配形状而复制输入,但不代表输出不占内存。维度组合过大仍可能生成巨大结果;运行大数据前,先用小数组验证形状。
官方来源:
https://numpy.org/doc/stable/user/basics.broadcasting.html