Python 填充二维阵列以将其连接起来

Python 填充二维阵列以将其连接起来,python,numpy,pad,Python,Numpy,Pad,这可能是一个非常基本的问题,但我很难把数学弄对。 我有一个不同大小数组的列表。这些形状看起来是这样的: (30, 300) (7, 300) (16, 300) (10, 300) (12, 300) (33, 300) (5, 300) (11, 300) (18, 300) (31, 300) (11, 300) 我想将它们作为文本分类中的一个功能,这就是为什么我需要将它们连接成一个大矩阵,这是不可能的,因为形状不同。 我的想法是用零填充,这样它们都具有(33300)的形状,但我不知道如何

这可能是一个非常基本的问题,但我很难把数学弄对。 我有一个不同大小数组的列表。这些形状看起来是这样的:

(30, 300)
(7, 300)
(16, 300)
(10, 300)
(12, 300)
(33, 300)
(5, 300)
(11, 300)
(18, 300)
(31, 300)
(11, 300)
我想将它们作为文本分类中的一个功能,这就是为什么我需要将它们连接成一个大矩阵,这是不可能的,因为形状不同。 我的想法是用零填充,这样它们都具有
(33300)
的形状,但我不知道如何做到这一点。 我试过这个:

padded_arrays = []
for p in np_posts:
    padded_arrays.append(numpy.pad(p,(48,0),'constant',constant_values = (0,0)))
导致

(78, 348)
(55, 348)
(64, 348)
(58, 348)
(60, 348)
(81, 348)
(53, 348)
(59, 348)
(66, 348)
(79, 348)
(59, 348)

请帮助我您需要为每个维度的每个边指定填充。填充大小是形状的固定差异,因此您必须使其适应“缺少”的大小:

(0,33-p.shape[0])
将第一个维度填充到右边缘(附加单元格),而不填充左边缘(预填充)


(0,0)
禁用第二个维度的填充,保持其大小不变(300->300)。

这比您的效果更好!您如何确保300没有更新?最后只有一个零?不客气!否,填充宽度的零元组
(0,0)
指定了第二维度填充。因此,用0填充第二维度的两条边意味着第二个dim没有填充,因此保留了300的大小。
np.pad(p, ((0, 33 - p.shape[0]), (0, 0)), 'constant', constant_values=0)