1
我想垫与如下所示的恒定值的阵列(实际上是一个三维阵列,但为了简洁我在这里展示一个2D示例):如何在不填充角落的情况下填充一个numpy数组?
[[1,1,1],
[1,1,1],
[1,1,1]]
应该成为
[[0,1,1,1,0],
[1,1,1,1,1],
[1,1,1,1,1],
[1,1,1,1,1],
[0,1,1,1,0]]
现在numpy.pad
将填满角落(并且在3D中也是边缘),这不是我想要的。我可以将它们设置为“手动”为零,但这很乏味,特别是在例如3D。
是否有一个简短而方便的方法来做到这一点?
编辑 为了使3D情况更加清晰,这里有一个例子:
[[[1]]]
应该成为
[[[0,0,0],
[0,c,0],
[0,0,0]],
[[0,c,0],
[c,1,c],
[0,c,0]],
[[0,0,0],
[0,c,0],
[0,0,0]]]
而对于两个填充厚度的例子将是:
[[[0,0,0,0,0],
[0,0,0,0,0],
[0,0,c,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[0,0,0,0,0],
[0,0,0,0,0],
[0,0,c,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[0,0,c,0,0],
[0,0,c,0,0],
[c,c,1,c,c],
[0,0,c,0,0],
[0,0,c,0,0]],
[[0,0,0,0,0],
[0,0,0,0,0],
[0,0,c,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[0,0,0,0,0],
[0,0,0,0,0],
[0,0,c,0,0],
[0,0,0,0,0],
[0,0,0,0,0]]]
填写什么?你的阵列总是有全部? – Divakar
随着价值不变,我编辑了这个问题。 – NOhs
你确定关于3D案例的第二个2D切片吗?它看起来与第一片相同。 – Divakar