Numpy:调整数组大小

时间:2015-02-28 10:16:10

标签: numpy scipy

我有两个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 

如何解决问题?

1 个答案:

答案 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])