填充二维数组,以便将它们连接起来



这可能是一个非常基本的问题,但我努力把数学正确。我有一个包含不同大小数组的列表。图形看起来像这样:

(30, 300)
(7, 300)
(16, 300)
(10, 300)
(12, 300)
(33, 300)
(5, 300)
(11, 300)
(18, 300)
(31, 300)
(11, 300)

我想使用它们作为文本分类的功能,这就是为什么我需要将它们连接到一个大矩阵中,这是不可能的,因为不同的形状。我的想法是用零填充,这样它们都有形状(33,300),但我不确定如何。我试过了:

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)

请帮帮我

您需要指定每个边的内边距各维度. 填充大小是形状的固定差异,因此您必须调整它以适应"缺失"的形状。大小:

np.pad(p, ((0, 33 - p.shape[0]), (0, 0)), 'constant', constant_values=0)

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

(0, 0)禁用第二次元填充,保留其大小为(300->300年).

最新更新