元组错误(numpy)

时间:2016-08-27 07:20:46

标签: python numpy

我使用ListView填充了我的数据并收到了此错误:

np.pad(x,[(0,0)], mode='constant')

我的ValueError: Unable to create correctly shaped tuple from [(0, 0). 有形状(21,4),我想填充它以获得(22,4)的形状。

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:2)

第一个参数的等级必须与第二个参数中的对数匹配。

例如,请注意这会给出您看到的错误:

>>> x = np.ones((21, 4))
>>> np.pad(x, [(0,0)], mode='constant')
Traceback (most recent call last):
  [...snip...]
ValueError: Unable to create correctly shaped tuple from [(0, 0)]

问题是x的等级为2,但第二个参数只有一对,而不是两个。

但是,如果我们提供两对的第二个参数,则成功:

>>> x2 = np.pad(x, [(0,0), (0,0)], mode='constant')

要获得所需的最终尺寸,我们必须将第一个尺寸填充为1.一种方法是:

>>> x2 = np.pad(x, [(0,1), (0,0)], mode='constant')
>>> x2.shape
(22, 4)