Amy 原创整理|资料核验:2026-11-03
NumPy 官方文档说明,broadcast_to 返回指定形状的只读视图,通常不是连续数组,而且多个元素可能指向同一个内存位置。无法广播到目标形状时会抛出 ValueError。
教学示例:把数组 [2, 4] 广播成形状(3, 2),可以得到三行相同数值用于后续计算,但这不等于建立了三份能各自修改的行数据。直接向这个只读视图赋值不是正确的修改路径。
Amy 的使用步骤:先确认运算是否只需要读取这份扩展后的数据;若确实要得到可独立修改的数组,再对广播结果显式调用 copy()。检查形状能说明数据如何呈现,检查是否可写和是否共享内存,才能说明能否按预期修改。不要把“看起来重复了三行”当作三份独立存储的证据。
官方来源:
https://numpy.org/doc/stable/reference/generated/numpy.broadcast_to.html