将n个零添加到数组的末尾

its*_*eva 13 python arrays numpy

我想在数组中添加n个零.

如果您的数组是x,并且您希望在数组和数组中添加3个零而不创建2个数组:

x = np.array([1.0, 2.0, 1.0, 2.0, 7.0, 9.0, 1.0, 1.0, 3.0, 4.0, 10.0])
Run Code Online (Sandbox Code Playgroud)

我认为这个命令会有所帮助:

x = [x, np.zeros(N)]
Run Code Online (Sandbox Code Playgroud)

但我收到了2个阵列而不是1个大阵列:

[array([  1.,   2.,   1.,   2.,   7.,   9.,   1.,   1.,   3.,   4.,  10.]),
 array([ 0.,  0.,  0.,  0.])]
Run Code Online (Sandbox Code Playgroud)

所以我想创建这种类型的数组:

[array([  1.,   2.,   1.,   2.,   7.,   9.,   1.,   1.,   3.,   4.,  10., 0.,  0.,  0.,  0.])]
Run Code Online (Sandbox Code Playgroud)

这个相当简单的问题可以帮助我吗?

Psi*_*dom 15

您可以使用numpy.pad,在常量模式下,默认为0到数组的两端,指定pad_width =(0,N)将向右填充N个零而在左侧没有任何内容:

N = 4
np.pad(x, (0, N), 'constant')
#array([  1.,   2.,   1.,   2.,   7.,   9.,   1.,   1.,   3.,   4.,  10.,
#         0.,   0.,   0.,   0.])
Run Code Online (Sandbox Code Playgroud)