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