如何将numpy数组填充到固定的行号

时间:2019-08-29 08:20:32

标签: python numpy

我有一组具有不同行数的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),但是它不起作用。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您正在寻找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. ]])