繁体   English   中英

pad 2d arrays 以连接它们

[英]pad 2d arrays in order to concatenate them

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

(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)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM