首页 > 解决方案 > 如何用行填充数组

问题描述

我有一组具有不同行数的 numpy 数组,我想将它们填充到固定的行数,例如

具有 3 行的数组“a”:

a = [

[1.1, 2.1, 3.1]

[1.2, 2.2, 3.2]

[1.3, 2.3, 3.3]

]

我想将“a”转换为 5 行的数组:

[

[1.1, 2.1, 3.1]

[1.2, 2.2, 3.2]

[1.3, 2.3, 3.3]

[0, 0, 0]

[0, 0, 0]

]

我试过np.concatenate((a, np.zeros(3)*(5-len(a))), axis=0)了,但它不起作用。

任何帮助,将不胜感激。

标签: pythonnumpy

解决方案


你正在寻找np.pad. 要归零,您必须将模式设置为constant以及pad_width您希望在每个轴的边缘上设置的模式:

np.pad(a, pad_width=((0,2),(0,0)), mode='constant')

array([[1.1, 2.1, 3.1],
       [1.2, 2.2, 3.2],
       [1.3, 2.3, 3.3],
       [0. , 0. , 0. ],
       [0. , 0. , 0. ]])

推荐阅读