0
我有一個numpy數組,它是(3,3,3,64)。我想從該數組的兩個軸上消除數據以獲得(3,3,1,64)數組。我確信有這樣一個簡單的方法,但我沒有看到它。我希望一位粗獷的大師能夠指導我如何做到這一點的正確方向。我曾嘗試是這樣的:在陣列數據中丟棄多個numpy軸
K =內核[:,:,0,:]
但導致的(3,3,64)的陣列,這不是我想要的。
我有一個numpy數組,它是(3,3,3,64)。我想從該數組的兩個軸上消除數據以獲得(3,3,1,64)數組。我確信有這樣一個簡單的方法,但我沒有看到它。我希望一位粗獷的大師能夠指導我如何做到這一點的正確方向。我曾嘗試是這樣的:在陣列數據中丟棄多個numpy軸
K =內核[:,:,0,:]
但導致的(3,3,64)的陣列,這不是我想要的。
設置
a = np.zeros((3, 3, 3, 64))
a.shape
Out[289]: (3L, 3L, 3L, 64L)
解決方案
#Slice the array and reshape to desired shape
a_cut = a[:,:,0,:].reshape((3,3,1,64))
#check
a_cut.shape
Out[291]: (3L, 3L, 1L, 64L)
或者像hpaulj提到的,你可以使用:
a[:,:,[0],:]
'kernetls [:,:,[0], :]'。用標量索引移除維度使用列表或切片保留它。 – hpaulj
@hpaulj:這更像是一個答案,而不是評論.. – DSM
比在評論中得到批評更好。這可能會花費我點。 :)我會讓別人寫答案的版本。 – hpaulj