我有两个Numpy数组,其大小为994和1000.因此我在进行以下操作时:
X * Y
我收到错误“ ValueError:操作数无法与形状一起广播(994)(1000)”
因此,根据修复,我试图通过以下方法将额外/尾随零填充到大小的数组:
padzero = 0
if(bw.size > w.size):
padzero = bw.size - w.size
w = np.pad(w,padzero, 'constant', constant_values=0)
if(bw.size < w.size):
padzero = w.size - bw.size
bw = np.pad(bw,padzero, 'constant', constant_values=0)
但现在问题在于,如果大小差异为6,那么12 0将在数组中填充 - 在我的情况下应该是6个。
我尝试了很多方法来实现这一目标,但这并没有解决问题。如果我尝试他的方式:
bw = np.pad(bw,padzero/2, 'constant', constant_values=0)
ValueError: Unable to create correctly shaped tuple from 3.0
如何解决问题?
答案 0 :(得分:1)
a = np.array([1, 2, 3])
要在前面插入零:
np.pad(a,(2,0),'constant', constant_values=0)
array([0, 0, 1, 2, 3])
要回零:
np.pad(a,(0,2),'constant', constant_values=0)
array([1, 2, 3, 0, 0])
正面和背面:
np.pad(a,(1,1),'constant', constant_values=0)
array([0, 1, 2, 3, 0])