我试图用零填充一维numpy数组。
这是我的代码
v = np.random.rand(100, 1)
pad_size = 100
v = np.pad(v, (pad_size, 0), 'constant')
结果是200x101数组,其最后一列是[0,0,0,...
<v>
],(前100个零), 并且所有第1 100列均为零。
如何获取所需的数组
[0,0,0,.. 0,
<v>
]
大小(len(v)+ pad_size,1)?
答案 0 :(得分:2)
pad
输出为2D,因为pad
输入为2D。您出于某些原因用rand
制作了2D数组:
v = np.random.rand(100, 1)
如果您想要一维数组,则应该制作一维数组:
v = np.random.rand(100)
如果要使用1列2D数组,则使用的是错误的pad
。第二个参数应为((100, 0), (0, 0))
:在第一个轴上填充100个元素,在第一个轴上填充0个元素,在第二个轴上填充0个元素,在第二个轴上填充0个元素:
v = np.random.rand(100, 1)
pad_size = 100
v = np.pad(v, ((pad_size, 0), (0, 0)), 'constant')
对于1行2D数组,您需要同时调整rand
和pad
的调用:
v = np.random.rand(1, 100)
pad_size = 100
v = np.pad(v, ((0, 0), (pad_size, 0)), 'constant')
答案 1 :(得分:0)