【发布时间】:2022-01-17 03:21:46
【问题描述】:
我正在尝试在现有数组周围添加一个边框(用 0 填充)。 我的代码:
a = np.random.random((4, 5))
m, n = a.shape
b = np.zeros((m+1, n+1))
b[1:-1,1:-1] = a
a,b
但我得到了一个错误:
ValueError: could not broadcast input array from shape (4,5) into shape (3,4)
为什么我不能直接为 2D numpy 数组的某些部分赋值?问题出在哪里?
【问题讨论】:
-
您希望每边都有一个边框,所以新形状必须是
(m+2, n+2)。 -
如果尺寸合适,您可以赋值。
-
太棒了!非常感谢!!