【发布时间】:2017-11-05 19:46:09
【问题描述】:
我有一个 nd 数组,例如这个:
x = np.array([[1,2,3],[4,5,6]])
我想将最后一个维度的大小加倍,并在元素之间插入零以填充空间。结果应如下所示:
[[1,0,2,0,3,0],[4,0,5,0,6,0]]
我尝试使用expand_dims 和pad 解决它。但是pad 函数不仅仅在最后一个维度中的每个值之后插入零。结果的形状是(3, 4, 2),但应该是(2,3,2)
y = np.expand_dims(x,-1)
z = np.pad(y, (0,1), 'constant', constant_values=0)
res = np.reshape(z,[-1,2*3]
我的代码结果:
array([[1, 0, 2, 0, 3, 0],
[0, 0, 4, 0, 5, 0],
[6, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]])
pad 如何在每个元素之后的最后一个维度中插入零?或者有没有更好的方法来解决这个问题?
【问题讨论】: