Numpy:调整数组大小
Numpy : resize array
我有两个大小为 994 和 1000 的 Numpy 数组。因此我在执行以下操作时:
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
我该如何解决这个问题?
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])
我有两个大小为 994 和 1000 的 Numpy 数组。因此我在执行以下操作时:
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
我该如何解决这个问题?
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])