[英]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.