我对python很陌生,读过很多关于这个主题的问题,但是没有一个能回答我的需要
我的结局是:
[[1, 2, 3]
[4, 5, 6]]
现在我想为每个元素(例如[1, 2, 3]
)添加一个专门针对该元素的填充。当然,我可以在for循环中完成,并将每个结果附加到一个新的ndarray中,但是是否有一种更快更干净的方法可以一次将其应用于整个ndarray
我想象它的工作原理是:
myArray = [[1, 2, 3]
[4, 5, 6]]
paddings = [(1, 2),
(2, 1)]
myArray = np.pad(myArray, paddings, 'constant')
当然,这只是输出:
[[0 0 0 0 0 0 0 0 0]
[0 0 1 2 3 0 0 0 0]
[0 0 3 4 5 0 0 0 0]
[0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0]]
这不是我需要的。目标结果是:
[[0 1 2 3 0 0]
[0 0 4 5 6 0]]
如何使用numpy
实现这一点
这是一个基于循环的解决方案,但是根据输入数组和填充的维度创建一个零数组。评论中的解释:
在此之后,我们可以使用
for
循环根据paddings
的值对myArray
中的序列进行时隙填充:我们不得不求助于基于循环的解决方案的原因是^{} 还不支持这种填充,即使它已经提供了所有可用的附加模式和关键字参数
相关问题 更多 >
编程相关推荐