2017-05-09 23 views
0

我有一個numpy數組,它是(3,3,3,64)。我想從該數組的兩個軸上消除數據以獲得(3,3,1,64)數組。我確信有這樣一個簡單的方法,但我沒有看到它。我希望一位粗獷的大師能夠指導我如何做到這一點的正確方向。我曾嘗試是這樣的:在陣列數據中丟棄多個numpy軸

K =內核[:,:,0,:]

但導致的(3,3,64)的陣列,這不是我想要的。

+2

'kernetls [:,:,[0], :]'。用標量索引移除維度使用列表或切片保留它。 – hpaulj

+0

@hpaulj:這更像是一個答案,而不是評論.. – DSM

+1

比在評論中得到批評更好。這可能會花費我點。 :)我會讓別人寫答案的版本。 – hpaulj

回答

0

設置

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],:]