元组错误(numpy)

4

我使用np.pad(x,[(0,0)], mode='constant')来填充我的数据,但出现了以下错误:

ValueError: Unable to create correctly shaped tuple from [(0, 0).

我的x的形状为(21, 4),我想要填充它以获得一个形状为(22,4)。

有人知道这是怎么回事吗?


你实际上想要做什么?这里的 x 是什么?这里的输入和期望输出是什么? - Ahsanul Haque
1个回答

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)

pad 函数的参数不应该是一个元组列表吗(每个轴一个元组)? - ewcz
1
非常感谢您,@John1024。 - Bolajio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接